Pular para o conteúdo

Script com verificação de duplicidade rodando no Cron [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar
01 02

13. Re: Script com verificação de duplicidade rodando no Cron [RESOLVIDO]

Enviado em 17/08/2012 - 16:13h

Hum... vi um negócio aki q eu acho q tá errado no seu script. Veja:


(...)
if [ ! -z "`ps | grep $PID`" ]; then
(...)
Note o símbolo d exclamação. Ele é negação, ou seja, se não obtiver resultado no comando, imprimir a msg abaixo. Retire a exclamação desse if e veja se dá certo.

Responder tópico

14. Re: Script com verificação de duplicidade rodando no Cron [RESOLVIDO]

Enviado em 17/08/2012 - 16:21h

renato_pacheco escreveu:

Hum... vi um negócio aki q eu acho q tá errado no seu script. Veja:


(...)
if [ ! -z "`ps | grep $PID`" ]; then
(...)


Note o símbolo d exclamação. Ele é negação, ou seja, se não obtiver resultado no comando, imprimir a msg abaixo. Retire a exclamação desse if e veja se dá certo.
não, pois o ! anula o próximo parâmetro -z,
entao fica no "portugol"
se [ ! (é diferente)  -z (de Nulo) "`ps | grep $PID`" ] então... 
muito estranho. Se eu abrir 2 Putty aqui e executar o script em um enquanto ele está rodando não consigo executar no outro, se mato um o outro executa. Perfeito, como tem que ser, já o Cron que ta teimando!

15. Re: Script com verificação de duplicidade rodando no Cron [RESOLVIDO]

Enviado em 18/08/2012 - 00:10h

Veja que no inicio do seu script a menos que "$TMP_PID" tenha conteúdo ele não será executado, e como essa variável vai ter conteúdo dentro do contexto do CRON???


Para resolver seu problema pode procurar o PID do seu script usando o ps -C

Veja


ps -C piano_shell.sh

PID TTY TIME CMD
3981 pts/0 00:00:00 piano_shell.sh
Ou seja, tenho um piano_shell.sh sendo executado ai fica fácil validar no if

Exemplo


if ! ps -C piano_shell.sh >/dev/null
then
# seu codigo
fi

16. Re: Script com verificação de duplicidade rodando no Cron [RESOLVIDO]

Enviado em 18/08/2012 - 09:20h

rai3mb escreveu:

Veja que no inicio do seu script a menos que "$TMP_PID" tenha conteúdo ele não será executado, e como essa variável vai ter conteúdo dentro do contexto do CRON???


Para resolver seu problema pode procurar o PID do seu script usando o ps -C

Veja


ps -C piano_shell.sh

PID TTY TIME CMD
3981 pts/0 00:00:00 piano_shell.sh


Ou seja, tenho um piano_shell.sh sendo executado ai fica fácil validar no if

Exemplo


if ! ps -C piano_shell.sh >/dev/null
then
# seu codigo
fi




quando executo ps -C script.sh retorna todo os processos, acho que o PS da minha distribuição não tem essa opção..

ontem acho que encontrei o problema, no comando [ ! -z "`ps | grep $PID`" ] não estava sendo nulo pois aparecia o processo do grep, então coloquei um "grep -v grep"

if [ ! -z "`ps | grep $PID | grep -v grep`" ]; then 
parece ter resolvido o problema, vou ficar verificando o dia todo pra ver se não acontece denovo


17. Re: Script com verificação de duplicidade rodando no Cron [RESOLVIDO]

Enviado em 21/08/2012 - 11:42h

Resolvido, o negocio foi mesmo que o resultado não era nulo pois aparecia o processo do Grep! bastou adicionar o "grep -v grep"

01 02

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder