Omi*_*mid 7 centos apache-httpd
什么会导致httpd停止后自动启动?
在 bash 脚本中,我需要先停止 apache Web 服务器。这是脚本:
apachectl stop;
while pgrep httpd; do sleep 1; done
echo "[Apache server stopped]"
Run Code Online (Sandbox Code Playgroud)
当我运行脚本时,它会打印正在运行的 apache 进程,直到没有任何正在运行的进程并打印[Apache 服务器停止]
然后运行该命令pgrep httpd
不会打印任何内容,但是如果我进入服务器托管的网站,则会pgrep httpd
打印一些 httpd 进程。
这是停止 apache 的正确方法吗?为什么运行后会自动启动apachectl stop
?如果它与KeepAliveTime相关,我如何强制正在运行的子进程停止?
编辑:这对于在命令行中运行service httpd stop
或apachectl stop
命令也是如此。
upstart
服务管理器,如果设置为 ,可以重新启动 httpd respawn
。
apachectl stop
停止进程而不通知upstart
尝试:
service httpd stop
Run Code Online (Sandbox Code Playgroud)
顺便说一句,当您向 apache 发出任何stop
类似命令时,它将停止接受新连接。它gracefuls
还将允许它完成任何当前打开的连接。