He estado jugando con varias formas de hacer esto en bash, y he descubierto pgrep program > /dev/null || programque es la forma más corta / elegante de hacerlo. ¿Hay un método mejor que este?
He estado jugando con varias formas de hacer esto en bash, y he descubierto pgrep program > /dev/null || programque es la forma más corta / elegante de hacerlo. ¿Hay un método mejor que este?
Respuestas:
Con pgrep, puedes combinar otros programas además del tuyo. Si desea asegurarse de que coincida con el programa correcto, use pidofen su lugar.
También puede usar start-stop-daemoncon un archivo PID. start-stop-daemoncomprobará si el programa se está ejecutando y lo iniciará si es necesario. Esto es lo que se usa en la mayoría de los scripts de inicio.
/lib/lsb/init-functionsbiblioteca, que la mayoría de los scripts de inicio analizan para usar funciones de contenedor como start_daemono pidofproc.
[ -z `pidof program` ] || echo "program runing"
# or
[ -z `pidof program` ] && OtherProgram