Apache 状态显示已停止,但 httpd 进程仍在运行

Apache 状态显示已停止,但 httpd 进程仍在运行

我是 Apache 新手,服务器 Apache 状态已停止,但进程仍在运行。网页服务正常。当我尝试重新启动进程时,却没有。我相信父进程已死,但子进程仍在为网页提供服务。请查看下面的输出

# service httpd status
httpd is stopped
#ps -ef | grep httpd
apache    2525 11597  0 Apr14 ?        00:05:05 /usr/sbin/httpd
apache    2526 11597  0 Apr14 ?        00:05:12 /usr/sbin/httpd
apache    2527 11597  0 Apr14 ?        00:05:14 /usr/sbin/httpd

# netstat -antp | grep LISTEN  
tcp        0      0 :::443               :::*             LISTEN      2936/httpd
tcp        0      0 :::6379              :::*             LISTEN      882/redis-server *
tcp        0      0 :::80                :::*             LISTEN      2936/httpd

这是 Apache 进程的问题吗?如何排除故障才能正常运行 Apache 进程?我需要重新启动服务器才能调试此问题吗?

答案1

看起来有点混乱。有一个 apache 父进程,其 pid 为 2936,正在监听端口 80 和 443。还有 3 个子进程,分别为 2525、2526 和 2527,其父进程为 11597。我会终止所有这些进程,然后干净地重新启动 apache。因此,请轻轻地(而不是kill -9)对它们执行以下操作:

kill 2525 2526 2527 11597 2936

然后再次检查ps -ef并重新启动 apache:

service httpd start

相关内容