Apacheを正常に停止します


23

要求の実行を終了せずにApacheサーバーを停止する方法、基本的にそれを伝える方法はありますか?これ以上の接続を受け入れず、現在の接続が終了したらシャットダウンしますか?

回答:



12

ここapachectl -k graceful-stopから使用:

WINCHまたはグレースフルストップシグナルにより、親プロセスは、現在の要求の後に終了するように(または、何も処理していない場合はすぐに終了するように)子に通知します。その後、親はPidFileを削除し、すべてのポートでのリッスンを停止します。親は引き続き実行され、リクエストを処理している子を監視します。すべての子が終了して終了するか、GracefulShutdownTimeoutで指定されたタイムアウトに達すると、親も終了します。


1

sys-v initはデフォルトでグレースフルストップを実行し、追加オプションとして強制停止を使用していたことに注意してください。正常に停止するための「特別な」オプションは、通常プロセスを強制終了するカスタムプロセスマネージャーを実行する場合にのみ必要です。


この回答はsystemd、カスタムプロセスマネージャーではないため、プロセスを強制終了しないという印象を与える可能性があります。ただし、デフォルトでは、systemd はapacheに対してstopnot a も実行しますgraceful-stop
B.ミラー

4
@ B.Miller systemdがグレースフルストップではなくストップを実行する場合、それはログに記録する必要があるOS固有のバグです。Arch LinuxとCentOS 7はどちらも正常に停止します。
ハラルド

Debianも優雅に停止します
ジョン・キーツ

2
おもしろい@JohnKeates ...これはUbuntu 18.04固有のものかもしれません。18.04の使用停止命令/usr/sbin/apachectl stop
B. Millerの
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.