Autor Tópico: Verificar se um processo se encontra ATIVO  (Lida 3862 vezes)

Offline JarbasAugusto

  • Usuário Ubuntu
  • *
  • Mensagens: 50
    • Ver perfil
Verificar se um processo se encontra ATIVO
« Online: 19 de Outubro de 2007, 18:19 »
Tentei verificar com esse código abaixo se o script ./zen  já se encontra ativo no sistema, porém não funcionou,. oq pode estar errado??

Código: [Selecionar]
PID=`ps -ef | grep zen.sh | grep -v grep | awk '{print $2}'` > /dev/null
if [ $? -ne 0 ]; then
echo "AVISO: Zen nao esta(o) ativo(s)"
else
echo "PID(s) do(s) zen: $PID"
fi

Offline Fernando Pinheiro

  • Usuário Ubuntu
  • *
  • Mensagens: 5
    • Ver perfil
Re: Verificar se um processo se encontra ATIVO
« Resposta #1 Online: 30 de Outubro de 2007, 00:38 »
O script está perfeito. O nome do arquivo é zen ou zen.sh? Deve ser aí o erro.

Abraços!

Offline jniltinho

  • Usuário Ubuntu
  • *
  • Mensagens: 47
  • *****
    • Ver perfil
Re: Verificar se um processo se encontra ATIVO
« Resposta #2 Online: 30 de Outubro de 2007, 08:44 »
Tentei verificar com esse código abaixo se o script ./zen  já se encontra ativo no sistema, porém não funcionou,. oq pode estar errado??

Código: [Selecionar]
PID=`ps -ef | grep zen.sh | grep -v grep | awk '{print $2}'` > /dev/null
if [ $? -ne 0 ]; then
echo "AVISO: Zen nao esta(o) ativo(s)"
else
echo "PID(s) do(s) zen: $PID"
fi



Código: [Selecionar]
#!/bin/sh -e

set -e

NAME1=$2

testa(){
PIDFILE1=$(ps -A | grep $NAME1 | awk '{ print $1 }'| head -n 1)
}

status_process(){
testa
if [ -z $PIDFILE1 ]; then
  echo $NAME1 stopped
else
  echo $NAME1 running     
     
fi
}

case $1 in
status ) status_process ;;   
*)
    echo "Usage: ./testaproc.sh {status nameprocess}" && sleep 3
    exit 1
    ;;

esac


Use assim:

./testaproc.sh status firefox
Acho que assim funcionaria muito bem
« Última modificação: 30 de Outubro de 2007, 08:50 por jniltinho »

arlei

  • Visitante
Re: Verificar se um processo se encontra ATIVO
« Resposta #3 Online: 30 de Outubro de 2007, 10:51 »
Legal pessoal,

parabéns a todos pelo conhecimento em shell script, mais fico me questionando para que isso tudo se basta executar o simples comando ps aux |grep nome_do_processo para saber se esta ativo ou não!?!?!?!

T+
Arlei