服务停止,但系统中仍存在进程

如果有人删除/ var / lock / subsys / httpd文件,解决scheme是什么?

通常,您可以通过查找PID来请求任何进程正常终止,并发送信号15.尝试

www% ps auxww|grep http apache 311 0.0 0.5 42932 22580 ? S Mar11 0:21 /usr/sbin/httpd apache 2547 0.0 0.5 42768 22188 ? S Mar12 0:06 /usr/sbin/httpd root 2669 0.0 0.2 28500 11228 ? Ss Feb15 0:00 /usr/sbin/httpd [ and many more http processes ] 

您感兴趣的是父级,它是由root拥有的父级。 它的PID是第二列,在这种情况下,2669,所以要求它死亡

 % kill -15 2669 

重复ps命令,确保它不见了。 如果不能优雅的话,可以用信号9强制死亡。

 % kill -9 2669 

在某些UNIX上还有一些命令可以杀死特定的进程组,或者在名字中包含特定文本块的所有进程,但是你不会说你正在使用哪个操作系统(尽pipe使用/var/lock文件说清楚这是某种UNIX)。 尝试man killall ,你可能会发现是否killall httpd会更简单的你。

一般来说,你需要成为root用户,或者使用sudo命令来发送任意信号给任意进程。