誰が作ろうかいつも悩んでいます。Rubyには、Rubyスクリプトが自身をデーモン化できるDaemonsライブラリがあります。そして、神( monitに似たプロセス監視ツール) のページを見ると、神はプロセスをデーモン化できることがわかります。
そこに決定的な答えはありますか?
プロセスには自身をデーモン化する機能があり、プロセス モニターにはその子をデーモン化する機能があります。
個人的には、いくつかの理由から、プロセス モニターまたはスクリプトで実行することを好み
ます。子プロセスの 1 つが終了すると、SIGCHLD がモニターに配信されます。組み込みシステムでは、これを頻繁に行います。
2. 通常、デーモン化するときは、euid と egid も設定します。私は、使用する uid のようなシステムレベルのポリシーの知識をすべての子プロセスにエンコードしないことを好みます。
3. コマンド ライン ツールまたはデーモンとして同じアプリケーションを再利用できます (これが実際にはめったに起こらないことを率直に認めます)。
あなたのスクリプトがそれを行う方が良いと思います。そこにあるプロセス監視ツールはわかりませんが、ユーザーが別のツールを使用できる可能性があると思います。つまり、スクリプトにそれを実行させることが望ましいということです。
デーモン以外の方法で実行されるスクリプトを想定できる場合は、デーモン化を有効または無効にするオプションをスクリプトに追加します。