杀死具体进程


杀死具体进程

执行了 systemctl stop httpd 来关闭 httpd(Apache)服务,但仍然看到类似:

httpd (pid 1785910) already running

表示进程还在运行,说明 httpd 没有被完全停止


✅ 解决步骤如下:

🔍 第一步:确认并查找 httpd 是否仍有残留进程

ps aux | grep httpd

示例输出:

root     1785910  0.0  0.2 123456  7890 ?        Ss   12:34   0:00 /usr/sbin/httpd -DFOREGROUND
apache   1785911  0.0  0.1 123456  4567 ?        S    12:34   0:00 /usr/sbin/httpd -DFOREGROUND
...

🧨 第二步:强制杀死所有 httpd 相关进程

sudo pkill httpd

或者使用 killall

sudo killall httpd

如果仍然存在僵尸进程,可以手动 kill:

sudo kill -9 1785910 1785911 ...

🔁 第三步:再次确认是否彻底关闭

ps aux | grep httpd

如果没有输出(或只有 grep 本身),说明服务已完全停止。


🧪 第四步:确认端口是否仍被占用(例如 80 端口)

sudo lsof -i :80

如果发现仍有服务监听 80 端口,你可以确认是哪个程序占用了:

sudo netstat -tulnp | grep :80

或者:

sudo ss -tulnp | grep :80

如你希望彻底禁用 httpd,可以执行:

sudo systemctl disable httpd
sudo systemctl mask httpd

mask 会阻止任何方式启动它,包括依赖项。


文章作者: 0xdadream
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 0xdadream !
评论
  目录