0

これはここからの重複した質問です: 更新されたタグのみを使用してデーモンとアプリケーションを制御することの違いにより 、より多くの人が表示してコメントできるようになります。


皆さんこんにちは、

この優れた投稿に関して:

nohup とデーモンの違いは何ですか?

次のことをお聞きしたいです。

端末からアプリケーションを起動した後、アプリケーションはバックグラウンドまたはフォアグラウンドで実行され続けます。アプリケーションとやり取りするためにできる唯一のことは、端末からシグナルを送信することです (stdin がまだ配置されている場合)。

ただし、デーモンプロセスが起動された後、クエリや再起動などの他の手段で制御できることに気付きました (アーチ方法):

# /etc/rc.d/daemon-name {start|stop|restart|status|...}

その機能が一般的な「デーモンフレームワーク」に組み込まれており、特別な機能としてすべてのデーモンプロセスに適用されるのか、それともデーモンとして実行するように設計されたプロセスが内部的に処理する必要があるという規定にすぎないのか、誰かが説明してくれますか?

さらに言えば、アプリケーションは常に名前を使用して参照する必要がある (つまり、kill -9 1234) のに、デーモンの名前を使用して端末からデーモンを "制御" するにはどうすればよいのでしょうか (つまり、sambad stop)。

前もって感謝します!


4

1 に答える 1

1

これは、デーモンごとに異なる方法で行われます。これらのファイル ( /etc/rc.d/*) を調べて、それがどのように行われているかを確認してください。

Debian では、ほとんどのサービスがstart-stop-daemon を使用します。PID はファイルに保存され、start-stop-daemonその PID に信号を送信します。

于 2012-07-28T16:10:26.820 に答える