
サーバー上で Apache を再起動しようとしていますが、Apache が現在実行しているすべてのプロセスが終了しないようです。
私が使用しているコマンドは
sudo /etc/init.d/apache2を再起動します
すべての子プロセスも終了させるために他に何かする必要があるでしょうか?
ありがとう
ジョシュ・ペニントン
答え1
子プロセスは、現在のリクエストの処理が終わるとすぐに停止する必要があります。ページの提供中にサーバーが接続を切断することを本当に望みますか? 再起動されたサーバーは、新しい接続のリッスンを引き継ぐため、すべての新しい接続を処理します。
1 分ほど経ってから、古いサーバーの子プロセスが停止しているかどうかを確認してください。まだ実行中の場合は、問題が発生している可能性があります。
答え2
何らかのプロセスがロックされている可能性があります。以下を試してください:
sudo /etc/init.d/apache stop
sudo pgrep apache
上記のコマンドが何かを返す場合は、以下を実行してください:
sudo pkill -9 apache
その後、Apache を再度起動します:
sudo /etc/init.d/apache2 start
答え3
プロセス_APACHE=ps -ef | grep apache | awk {'print $2'}
-9 $PROCESS_APACHE を強制終了します