Se o binário estiver vinculado dinamicamente, você poderá LD_PRELOAD
fork
wrapper que não faz nada, exceto definir um sinalizador na primeira vez em que é chamado, e em chamadas subsequentes vê o sinalizador e age normalmente.
Se o binário estiver vinculado estaticamente, você poderá ptrace até a primeira chamada fork
, pular essa chamada e pare de traçar.
No Linux, você pode executar o daemon em um namespace PID dedicado que apenas executa um script de monitoramento como PID 1 no namespace e o daemon. Quando o daemon é encerrado, o PID 1 no namespace, ou seja, o script de monitoramento, recebe um SIGCLD.