停止服务后Apache服务器自动启动

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 stopapachectl stop命令也是如此。

Mat*_*att 2

upstart服务管理器,如果设置为 ,可以重新启动 httpd respawn

apachectl stop停止进程而不通知upstart

尝试:

service httpd stop
Run Code Online (Sandbox Code Playgroud)

顺便说一句,当您向 apache 发出任何stop类似命令时,它将停止接受新连接。它gracefuls还将允许它完成任何当前打开的连接。