Sie können wahrscheinlich keine definitive Antwort erhalten, da wir im Allgemeinen mit beiden enden: Der Prozess hat die Fähigkeit, sich selbst zu dämonisieren, und der Prozessmonitor hat die Fähigkeit, seine Kinder zu dämonisieren.
Persönlich bevorzuge ich den Prozess-Monitor oder ein Skript haben Sie es, für ein paar Gründe:
1. wenn der Prozessmonitor möchte ihre Kinder genau verfolgen, sie neu zu starten, wenn sie sterben, können sie wählen, sie nicht daemonize . Ein SIGCHLD wird an den Monitor geliefert, wenn einer seiner untergeordneten Prozesse beendet wird. In eingebetteten Systemen machen wir das sehr oft.
2. Normalerweise legen Sie beim Daemonisieren auch euid und egid fest. Ich bevorzuge es, nicht in jedem Kindprozess ein Wissen über Richtlinien auf Systemebene wie uids zu verwenden.
3. Es ermöglicht die Wiederverwendung der gleichen Anwendung wie ein Befehlszeilentool oder ein Daemon (ich gebe zu, dass dies in der Praxis selten passiert).