Código PHP:
if ps waux | grep -v grep | grep miscript.sh
then
echo "miscript.sh service running, everything is fine"
else
echo "miscript.sh is not running"
echo "Start $miscript.sh"
ejecuto script...
fi
| |||
Saber si un sh esta corriendo Buenas, tengo freebsd en mi servidor y necesito saber si un script sh esta corriendo y si no lo esta que lo ejecute, lo que hago es: Código PHP: |
| |||
Respuesta: Saber si un sh esta corriendo ¿Que no funciona quiere decir que no es capaz de detectar que el script no está ejecutando, o que lo arranca igual aunque lo encuentre? En principio, de forma genérica, tu código de detección se ve correcto. Saludos. |
| |||
Respuesta: Saber si un sh esta corriendo pues de hecho tal y como está es correcto. if comprueba es que el valor de retorno del programa que ejecuta sea 0 (todo correcto), eso es todo. Aunque normalmente se vea como if [ 0 -eq 0] la verdad es que el "[" no es un elemento sintáctico sino un ejecutable: es un alias al comando "test" y en muchos sistemas de hecho existe en la carpeta /bin un binario de nombre "[". El comando 'test' en particular se encarga de comprobar la condición y devuelve cero si todo fue correcto. En este caso se evalúa el valor de retorno del grep, que es cero si hay coincidencias. Por lo que efectivamente, si grep encuentra algo, se ejecuta el bloque del IF. saludos. |
Etiquetas: |