apache2 を起動すると 3 つのプロセスが起動します

apache2 を起動すると 3 つのプロセスが起動します

apache2サーバーを起動するコマンドが実際に3つのプロセスを起動する理由を知りたいです

実際、次のコマンドを入力します:

sudo apache2ctl -k start

次に、次のコマンドを入力します。

ps aux | grep apache2

apache2 に対応する 3 つのプロセスが返されます。これは正常ですか?

答え1

はい。Apache には、リクエストを処理するためのさまざまな処理モジュールがあります。最も一般的なのは、workerとですprefork。どちらも複数のプロセスを使用します。はPrefork、クライアント接続ごとにプロセスを使用し、遅延なく新しい接続を処理できるアイドル プロセスがいくつかあることを常に確認します。Workerは依然として複数のプロセスを使用しますが、これらのプロセスでスレッドも使用します。これは、と比較してリソースの使用量が少なくなりますが、preforkそれでも通常は複数のプロセスが必要です。

表示されるプロセスの 1 つは、TCP ポートを開いて接続を待機し、着信接続を別の Apache プロセスに渡して実際の処理を行う「マスター」プロセスである可能性があります。その他のプロセスは、またはpreforkモジュールworkerからのワーカー プロセスです。

関連情報