Estou tentando verificar se um processo (suponha que seja chamado some_process
) está sendo executado em um servidor. Se for, então eco 1, caso contrário, eco 0.
Este é o comando que estou usando, mas ele funciona apenas parcialmente (mais informações abaixo). Note que eu preciso escrever o script em uma linha.
ps aux | grep some_proces[s] > /tmp/test.txt && if [ $? -eq 0 ]; then echo 1; else echo 0; fi
Nota: O [s]
no some_proces[s]
é para evitar grep
de retornar em si.
Se some_process
estiver em execução, o "1"
eco será exibido, o que é bom. No entanto, se some_process
não estiver em execução, nada será repetido.
ps -Ccmd
para encontrar processos cujo nome de comando seja "cmd", que pode eliminar completamente ogrep
.ps
definirá o código de saída para um valor diferente de zero se ele não encontrar um processo de correspondência.