Para muitos daemons, apenas uma instância do daemon deve estar sendo executada em um sistema a qualquer momento. Nesse caso de uso, o daemon geralmente armazena seu PID em um diretório conhecido (no Linux, atualmente /run
, anteriormente /var/run
) para indicar que uma instância do daemon está em execução.
Se você tentar invocar uma segunda instância desse daemon, o daemon recém-chamado verificará se há uma entrada existente (pense nela como um arquivo de bloqueio) em /run
e sairá se encontrada.
Se o daemon for reiniciado, o PID da nova instância será gravado no arquivo. A nova instância obtém seu próprio PID, não há como iniciar um processo com um determinado PID.
O arquivo PID também é usado para determinar qual processo matar para parar o daemon.