サービスの停止後、Apache サーバーが自動的に起動します。

サービスの停止後、Apache サーバーが自動的に起動します。

httpdが停止した後に自動的に起動する原因は何ですか?

Bashスクリプトでは、まずApache Webサーバーを停止する必要があります。スクリプトは次のとおりです。

apachectl stop;
while pgrep httpd; do sleep 1; done
echo "[Apache server stopped]"

スクリプトを実行すると、実行中のプロセスがないまで実行中のApacheプロセスを印刷して印刷します。[Apacheサーバーが停止しました。]

その後、コマンドを実行するとpgrep httpd何も印刷されませんが、サーバーでホストされているWebサイトに入ると、pgrep httpdいくつかのhttpdプロセスが印刷されます。

これがApacheを停止する正しい方法ですか?実行後に自動的に起動するのはなぜですかapachectl stop?もし関連があれば活動的な時間を維持する、実行中のサブプロセスを強制的に停止する方法は?

編集:これは、コマンドラインからコマンドを実行してもservice httpd stop同様です。apachectl stop

ベストアンサー1

upstart、サービス管理者は、次のように設定されている場合はhttpdを再起動できます。respawn

apachectl stop通知なしでプロセスを停止するupstart

努力する:

service httpd stop

ところでstop、Apacheで同様のコマンドを実行すると、新しい接続の受け入れが停止します。gracefulsまた、現在開いている接続を完了することもできます。

おすすめ記事