23 有没有一种方法可以在不终止执行请求的情况下停止Apache服务器,基本上是一种告诉它的方法-不接受任何更多的连接并在完成当前连接后将其关闭? linux ubuntu apache2 — php_nub_qq source
12 apachectl -k graceful-stop从这里使用: WINCH或平稳停止信号使父进程建议子进程在其当前请求后退出(如果他们没有提供任何服务,则立即退出)。然后父级将删除其PidFile并停止侦听所有端口。父级将继续运行,并监视正在处理请求的子级。一旦所有子代都完成并退出,或者达到了GracefulShutdownTimeout指定的超时,父代也将退出。 — 米勒 source
1 请记住,默认情况下,sys-v init曾经用于平稳停止,而强制停止是一个额外的选择。仅当您运行通常会终止进程的自定义进程管理器时,才需要“特殊”选项来正常停止。 — 约翰·基茨 source 这个答案可能给人的印象是,由于systemd不是自定义流程管理器,因此不会终止该流程。然而,在默认情况下systemd还执行stop不graceful-stop为Apache。 — 米勒 4 @ B.Miller如果您的systemd执行停止而不是平稳停止,则这是特定于操作系统的错误,需要记录。Arch Linux和CentOS 7都可以正常停止。 — 哈拉尔德 Debian不会正常停止过 — 约翰·济慈 2 有趣的@JohnKeates ...也许这是Ubuntu 18.04特有的。18.04使用停止命令/usr/sbin/apachectl stop — B.米勒
systemd
不是自定义流程管理器,因此不会终止该流程。然而,在默认情况下systemd还执行stop
不graceful-stop
为Apache。