A maneira mais elegante de verificar se um processo está sendo executado e iniciar, se não estiver?

7

Eu tenho andado por aí com várias maneiras de fazer isso no bash, e achei pgrep program > /dev/null || program como a forma mais curta / mais elegante de fazer isso. Existe um método melhor que isso?

    
por aperson 26.08.2010 / 09:06

2 respostas

8

Com pgrep , você pode combinar outros programas que não apenas os seus. Se você quiser ter certeza de combinar o programa certo, use pidof .

Você também pode usar start-stop-daemon com um arquivo PID. start-stop-daemon verificará se o programa está sendo executado e iniciará, se necessário. Isso é o que é usado na maioria dos scripts de inicialização.

    
por ℝaphink 26.08.2010 / 10:09
1
[ -z 'pidof program' ] || echo "program runing"
# or 
[ -z 'pidof program' ] && OtherProgram 
    
por SergioAraujo 13.10.2010 / 19:32

Tags