如果某个进程执行到一半时中断,或消耗太多的系统资源,例如内存数量及CPU时间,此时您可以考虑使用kill命令来将指定的信号传送到该进程。
虽然kill命令可以传送的信号有很多种,但以SIGTERM(15)或SIGKILL(9)居多,它们都是用来结束进程执行的。您可以使用-l参数来查看所有可供传送的信号,如图12-2所示。
图12-2 kill命令可传送的信号 |
以下示例假设要终止PID 16525进程的执行:
[root@ns1 ~]# kill 16525
因为有些进程会捕捉某些信号,所以当直接指定PID无法终止其进程时,您可以使用-9参数,它代表送出SIGKILL信号。
[root@ns1 ~]# kill -9 16525
如果使用-9参数仍无法结束该进程,还可以尝试使用-15参数来送出SIGTERM信号;如果连-15参数都无法成功地删除此进程,则只有重新启动这一方法了。
通常,极难删除的进程大多与系统运行有关联,如果删除后可能会影响系统的性能或执行,因此最好不要养成直接使用-9和-15参数的习惯。
[root@ns1 ~]# kill -15 16525
kill命令另外一个常用的时机是,当对某个Daemon进行修改或设置后,您可以使用-HUP(Hang Up)参数来重新启动该进程,这可减少重新启动计算机的时间。
[root@ns1 ~]# kill -HUP 16525