shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: RES: [shell-script] Dica: Testar a existencia de um processo


From: Mateus Caruccio
Subject: Re: RES: [shell-script] Dica: Testar a existencia de um processo
Date: Thu, 06 Nov 2003 00:58:39 +0800

Alo Rodolfo,

   Nao sei pq as pessoas tem esse "medo" do kill. Deve ser por causa do nome ;)

   Na verdade, qq ferramenta eh uma "arma descarregada". se tu souber como 
usar, nao vai te fazer mal algum. Para isso, eh so usar o sinal -0 hardcoded. 
Outro ponto eh nao usar o kill como root.
Isso sem contar que teu script consome varios ciclos de cpu a mais que o kill 
-0 (imagine isso em um script realmente grande).

exemplo:

# cria subshell e um pipe entre dois processos, atribuio o stdout para "$var" 
(cria uma variavel)
var=$(ps ax|grep [b]ash) 

# executa o /bin/test (ou o builtin '[' na melhor das hipoteses) e verifica 
valor de retorno, substituindo, antes, o valor de $var
if [ ! -z "$var" ]; then  
   echo "codigo caso exista o processo"
fi

agora veja esse:

if killall -0 bash; then  # executa killall e verifica codigo de retorno
   echo "codigo caso exista o processo"
fi


As solucoes existem aos milhares, basta escolher o meio.

[]s

   Mateus


----- Original Message -----
From: "Rodolfo Villanova - TmS Brasil" <address@hidden>
Date: Wed, 5 Nov 2003 14:30:52 -0200
To: <address@hidden>
Subject: RES: [shell-script] Dica: Testar a existencia de um processo

> Olá, Mateus!
> 
> Achei interessante a tua dica.
> Mas ao mesmo tempo fiquei apreensivo: imaginei que se eu usar o comando
> "kill" dessa forma, seria como manipular uma arma descarregada.
> Aparentemente é seguro, porém sempre há o risco de ocorrer um acidente!
> 
> Claro, cada um tem o seu jeito de programar, que procuro respeitar, pois
> existem diferentes formas de abordar a solução de um problema; eu
> particularmente prefiro usar só o comando "ps" com o filtro desejado e
> depois testar se a saída foi vazia.
> 
> Grande abraço,
> -----------------
> Rodolfo Villanova
> 
> > -----Mensagem original-----
> > De: Mateus Caruccio [mailto:address@hidden]
> > Enviada em: quarta-feira, 5 de novembro de 2003 13:28
> > Para: address@hidden
> > Assunto: [shell-script] Dica: Testar a existencia de um processo
> >
> >
> > Ola,
> >
> >    Se você quiser saber se um determinado processo esta rodando,
> > basta enviar o sinal 0 (zero) para ele:
> >
> > $ ps
> >   PID TTY          TIME CMD
> >  1289 pts/0    00:00:00 bash
> >  1920 pts/0    00:00:00 ps
> > $ kill -0 1289
> > $ echo $?
> > 0
> > $ killall -0 bash
> > $ echo $?
> > 0
> > $ kill -0 1234567
> > bash: kill: (1234567) - No such process
> > $ echo $?
> > 1
> > $ killall -0 nonexistingprocess
> > nonexistingprocess: no process killed
> > $ echo $?
> > 1
> > $ if ! kill -0 1234567 2>/dev/null; then
> > > echo nao existe;
> > > fi
> > nao existe
> >
> >
> > # ########################################################
> > # Mateus de Oliveira Caruccio <caruccio at operamail.com>
> > # Linux User #183552 - UIN #37364320
> > # Vim, vi e matei o Emacs !
> 
> 
> 
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como 
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
> aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em 
> http://www.listasdiscussao.cjb.net
> ---------------------------------------------------------------------
>  
> 
> Seu uso do Yahoo! Grupos é sujeito às regras descritas em: 
> http://br.yahoo.com/info/utos.html 
> 
> 



# ########################################################
# Mateus de Oliveira Caruccio <caruccio at operamail.com>
# Linux User #183552 - UIN #37364320
# Vim, vi e matei o Emacs !



-- 
___________________________________________________
OperaMail free e-mail - http://www.operamail.com
OperaMail Premium - 28MB, POP3, more! US$29.99/year

Powered by Outblaze


reply via email to

[Prev in Thread] Current Thread [Next in Thread]