[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Verificar processos
From: |
Enio Onodera |
Subject: |
Re: [shell-script] Verificar processos |
Date: |
Wed, 27 Oct 2010 10:37:37 -0700 (PDT) |
Alexandre,
o problema é que vc exclui apenas o grep do resultado, quando na verdade ele
busca o seu próprio script.Por exemplo, se seu script tiver o nome verifica.sh,
quando vc executar "verifica.sh firefox" ele automaticamente vai aparecer na
lista de processos como "verifica.sh firefox" e o grep do seu script vai
pegá-lo. Entendeu?
Para resolver isso adicione na linha:
if [ `ps ax | grep -w "$1" | grep -v grep |wc -l` -lt 1 ]; then
um outro grep excluindo o seu próprio script:
if [ `ps ax | grep -w "$1" | grep -v grep | grep -v 'seu script.sh'| wc -l` -lt
1 ]; then
não esqueça de colocar o nome do seu script entre apóstrofes, caso contrário o
shell vai querer executar o script e com isso pode entrar em looping ou dar
erro (não sei a reação pois não testei).
Abs,Enio Onodera
--- Em qua, 27/10/10, Alexandre Gorges <address@hidden> escreveu:
De: Alexandre Gorges <address@hidden>
Assunto: Re: [shell-script] Verificar processos
Para: "Lista Shell Script" <address@hidden>
Data: Quarta-feira, 27 de Outubro de 2010, 15:26
Obrigado Elder, de fato usando a sua forma funciona corretamente.
Vai entender.
[]'s
Alexandre Gorges
http://www.google.com.br/profiles/algorges
MSN/Skype: address@hidden
ICQ: 2031408
From: Elder Marco <address@hidden>
Reply-To: Lista Shell Script <address@hidden>
Date: Wed, 27 Oct 2010 15:14:17 -0200
To: Lista Shell Script <address@hidden>
Subject: Re: [shell-script] Verificar processos
Em 27 de outubro de 2010 14:28, Alexandre Gorges <address@hidden
<mailto:algorges%40gmail.com> >escreveu:
>
>
> Estou precisando de uma segunda olhada no meu script.
> Não sei o que estou fazendo de errado, é um script muito simples
>
> http://pastebin.com/ENyqwDje
>
> Quero apenas verificar se existe um processo em execução e retornar se está
> ok ou não.
> Mas sempre que rodo volta o ok. Independente do processo existir ou não.
>
> Aqui também ele funciona, mas acho que também poderia se tentar saber se um
processo está ou não em execução a partir do comando ps -e. Veja:
$ grep 'sshd$' <(ps -e)
1202 ? 00:00:00 sshd
$ grep 'sshd$' <(ps -e) | wc -l
1
--
Elder Marco
GNU/Linux User: #471180
"Contra o positivismo, que pára perante os fenômenos e diz: 'Há apenas
fatos', eu digo: 'Ao contrário, fatos é o que não há; há apenas
interpretações'. "(Nietzsche)
[As partes desta mensagem que não continham texto foram removidas]
[As partes desta mensagem que não continham texto foram removidas]
[As partes desta mensagem que não continham texto foram removidas]