Is there any reliable way to identify a process other than the unreliable pid?
A maneira de fazer isso de maneira confiável é iniciar o processo por conta própria e recuperar quando ele morrer. você recebe o sinal unix SIGCHILD. O pid continuará a existir (em um estado que é chamado de "zumbi") até que você consuma a notificação de morte de criança, p. waitpid()
.
Em alguns casos, você precisaria delegar isso para um daemon de supervisor de processo, por exemplo, systemd
. Por exemplo. então você poderia consultá-lo usando systemctl status my-process.service
. Isso seria útil se você tivesse uma página da Web PHP, que precisasse iniciar um processo de execução longa como um daemon.