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

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

Re: [shell-script] Status dos servicos


From: Edson Marquezani Filho
Subject: Re: [shell-script] Status dos servicos
Date: Sat, 12 May 2007 18:55:55 -0300

 Eu sou bem fraquinho de bash-script, mas a primeira coisa que me vem
à cabeça é usar o comando pidof pra ver se o daemon em questão tá
rodando.

 Tente, no shell:

 # pidof programa > /dev/null && echo "Programa rodando" || echo
"Programa não está rodando"

 Se o processo existir vai jogar "Programa rodando" na tela ou
"Programa não está rodando" se não estiver.
 O redirecionamento pra /dev/null é só pra não jogar o PID do programa na tela.

 Uma maneira melhor de você poder tratar a ação a ser executada de
acordo com o estado do programa, é usando a variável $?, que guarda o
código de retorno do último comando executado.
 A grande maioria dos programas de Unix retornam 0 (zero) como código
de sucesso, e 1 em caso contrário.

 Por exemplo, num script:

 #!/bin/bash

 pidof programa > /dev/null
 if [ $? -eq 0 ]; then
     echo "Programa rodando"
 else
    echo "Programa não está rodando"
  fi

 Se quiser saber o PID do processo é só atribuir o comando a uma
variável, assim:

 PID=`pidof programa`

 A partir disso você pode escolher o que fazer quando um programa que
deveria estar rodando, não está e tal. Fica a seu gosto.

 Inclusive se você for verificar vários deles, como citado, seria
mais inteligente fazer uma lista e ir varrendo com um laço FOR cada um
deles, e iniciando os que estivessem parados e tal, se essa for sua
intenção.


reply via email to

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