質問: apacheが独自のプロセスidをhttpd.pidに書き込むのはなぜですか? 私はapacheと、それによって引き起こされるデバッグの問題に不慣れです。 apacheが起動すると、説明されているように、独自のプロセスidがhttpd.pidで人間が読める形式で書き込まれることがわかりました here 。そもそもなぜプロセスidが必要なのかよくわかりません。それが必要だとしても、私はこのアプローチの理由を理解していません。linuxでは、プロセスはps -efなどを使用してapacheのプロセスidを見つけることができます。一般に、他のプロセスがプロセスidをファイルに書き込んでいることは聞いたことがありません。このapacheプロセスの何が特別なのですか?
回答: apacheは、apacheの別のインスタンスがすでに実行されているかどうかを知りたいと考えています。プロセス番号の書き込みは、psを使用するよりも信頼性が高く、プロセスが予期せずシャットダウンしたかどうかをテストできます(.pidファイルを削除せずに)。また、psが特定のシステムで使用できるという保証もありません(たとえば、アクセス許可のため)。他の多くのプログラムも.pidファイルを使用します。 /var/runディレクトリを確認してください。鉱山にはいくつかあります。