终止进程的工具kill,killall和pkill

  终止一个进程或终止一个正在运行的程序,一般是通过kill 、killall、pkill等进行。比如一个程序已经死掉,但又不能退出,这时就应该考虑应用这些工具。 
  另外应用的场合就是在服务器管理中,在不涉及数据库服务器程序的父进程的停止运行,也可以用这些工具来终止。为什么数据库服务器的父进程不能用这些工具杀死呢?原因很简单,这些工具在强行终止数据库服务器时,会让数据库产生更多的文件碎片,当碎片达到一定程度的时候,数据库就有崩溃的危险。比如mysql 服务器最好是按其正常的程序关闭,而不是用pkill mysqld 或killall mysqld 这样危险的动作;当然对于占用资源过多的数据库子进程,我们应该用kill 来杀掉。

1. kill
kill的应用是和ps或pgrep命令结合在一起使用的; 
kill的用法: 
kill [信号代码] 进程ID 
注:信号代码可以省略;我们常用的信号代码是-9 ,表示强制终止;
举例:
[root@localhost ~]# ps -ef|grep nginx
root  27195 26718  0 10:27 pts/1    00:00:00 grep nginx
root  28233     1  0 Jul15 ?        00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
nginx 28234 28233  0 Jul15 ?        00:00:00 nginx: worker process
我们查看nginx服务器的进程;您也可以用pgrep -lnginx来查看; 
我们看上面例子中的第二列,就是进程PID的列,其中28233是nginx服务器的父进程,从28233-28234的进程都是它28233的子进程;如果我们杀掉父进程28233的话,其下的子进程也会跟着死掉
对于僵尸进程,可以用kill -9 来强制终止退出;
比如一个程序已经彻底死掉,如果kill不加信号强度是没有办法退出,最好的办法就是加信号强度-9 ,后面要接杀父进程;比如;
[root@localhost ~]# pgrep -l nginx
28233 nginx
28234 nginx
[root@localhost ~]# kill -9 28233 

 

kill -9, 这个强大和危险的命令迫使进程在运行时突然终止,进程在结束后不能自我清理。危害是导致系统资源无法正常释放,一般不推荐使用,除非其他办法都无效。 
当使用此命令时,一定要通过ps -ef确认没有剩下任何僵尸进程。只能通过终止父进程来消除僵尸进程。如果僵尸进程被init收养,问题就比较严重了。杀死init进程意味着关闭系统。 
如果系统中有僵尸进程,并且其父进程是init,而且僵尸进程占用了大量的系统资源,那么就需要在某个时候重启机器以清除进程表了。 
 
2. killall 
killall 通过程序的名字,直接杀死所有进程,咱们简单说一下就行了。
用法:killall 正在运行的程序名
killall 也和ps或pgrep 结合使用,比较方便;通过ps或pgrep 来查看哪些程序在运行;
举例: 
[root@localhost beinan]# pgrep -l GameServer 
30529 GameServer 
[root@localhost beinan]# killall GameServer
 
3. pkill 
pkill 和killall 应用方法差不多,也是直接杀死运行中的程序;如果您想杀掉单个进程,请用pkill来杀掉。 
应用方法: 
#pkill 正在运行的程序名 
举例:
[root@localhost beinan]# pgrep -l GameServer 
30529 GameServer
[root@localhost beinan]# pkill GameServer
 

 

转载于:https://www.cnblogs.com/mags/p/6899044.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值