Estoy tratando de verificar si un proceso (supongo que se llama some_process) se está ejecutando en un servidor. Si es así, entonces echo 1, de lo contrario echo 0.
Este es el comando que estoy usando pero solo funciona parcialmente (más información a continuación). Tenga en cuenta que necesito escribir el guión en una línea.
ps aux | grep some_proces[s] > /tmp/test.txt && if [ $? -eq 0 ]; then echo 1; else echo 0; fi
Nota: El [s]de some_proces[s]es prevenirgrep vuelva en sí.
Si se some_processestá ejecutando, entonces "1"se repite, lo cual está bien. Sin embargo, si some_processno se está ejecutando, no se repite nada.
ps -Ccmdpara encontrar procesos cuyo nombre del comando es "cmd", que pueden eliminar por completo elgrep.psestablecerá el código de salida en algún valor distinto de cero si no puede encontrar un proceso de coincidencia.