Вероятно, вы не можете получить окончательный ответ, так как мы, как правило, в конечном итоге оба: процесс имеет способность демонамизировать себя, а монитор процесса имеет возможность демонтировать своих детей.
Лично я предпочитаю, чтобы процесс монитор или сценарий сделать это, по нескольким причинам:
1. Если монитор процесса Желающих внимательно следить за своими детьми, чтобы перезапустить их, если они умирают, он может выбрать, чтобы не демон их , SIGCHLD будет доставлен на монитор, когда выйдет один из его дочерних процессов. Во встроенных системах мы делаем это много.
2. Как правило, при демонализации вы также устанавливаете euid и egid. Я предпочитаю не кодировать в каждый дочерний процесс знание политики на системном уровне, как uids для использования.
3. Это позволяет повторно использовать одно приложение как инструмент командной строки или демон (я свободно признаю, что это редко случается на практике).