Eu tenho mexido com várias maneiras de fazer isso no bash, e eu achei pgrep program > /dev/null || program
a maneira mais curta / elegante de fazer isso. Existe um método melhor do que isso?
8
Com pgrep
, você pode corresponder a outros programas além do seu. Se quiser ter certeza de que combina com o programa certo, use-o pidof
.
Você também pode usar start-stop-daemon
com um arquivo PID. start-stop-daemon
irá verificar se o programa está em execução e iniciá-lo, se necessário. É isso que é usado na maioria dos scripts de inicialização.
/lib/lsb/init-functions
biblioteca, que a maioria dos scripts init analisa para usar funções de wrapper comostart_daemon
oupidofproc
.fonte