Verificar se um processo se encontra ATIVO

Iniciado por JarbasAugusto, 19 de Outubro de 2007, 18:19

tópico anterior - próximo tópico

JarbasAugusto

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??

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

Fernando Pinheiro

O script está perfeito. O nome do arquivo é zen ou zen.sh? Deve ser aí o erro.

Abraços!

jniltinho

#2
Citação de: JarbasAugusto 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??

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




#!/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

arlei

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