Os scripts de inicialização na maioria das distribuições Linux lidam com isso, salvando o ID do Processo do serviço (daemon) quando eles são iniciados.
Esses PIDs são normalmente armazenados em /var/run/
. Por exemplo, em meu sistema, o Apache2 armazena seu ID de processo original ou pai (útil para processos pré-bifurcados) em /var/run/apache2.pid
. Assim, você pode enviar sinais como SIGHUP
ou SIGSTOP
para o processo para sinalizar um recarregamento de configuração ou para parar o serviço (daemon).
Uma nota para ajudar na busca do processo de estilo ps ax
é usar um pequeno truque para escapar do padrão de expressão regular do grep usado para correspondência, de forma que ele não corresponda a si próprio. Por exemplo. ps ax | grep [a]pache2 | wc -l
man test
fornece os fundamentos do comando test
. Para tarefas simples no shell script, é melhor evitar depender de qual shell você está usando. Normalmente, para script básico , é recomendável escrever scripts direcionados ao Shell Borne ( /bin/sh
), já que esse tende a ser o mais denominador comum mais baixo popular.
#!/bin/sh
RC= 'ps ax | grep [a]pache2 | wc -l'
if [ $RC -gt 0 ]; then
kill -SIGSTOP 'cat /var/run/apache2.pid'
fi