He estado jugando con varias formas de hacer esto en bash, y he descubierto pgrep program > /dev/null || program
que es la forma más corta / elegante de hacerlo. ¿Hay un método mejor que este?
8
Con pgrep
, puedes combinar otros programas además del tuyo. Si desea asegurarse de que coincida con el programa correcto, use pidof
en su lugar.
También puede usar start-stop-daemon
con un archivo PID. start-stop-daemon
comprobará 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-functions
biblioteca, que la mayoría de los scripts de inicio analizan para usar funciones de contenedor comostart_daemon
opidofproc
.fuente