加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

linux kill进程杀不掉

(2012-09-21 09:44:16)
标签:

进程

it

在开发中遇到问题:某个进程已经死掉,不想reboot  想kill掉他
使用 kill PID 未提示任何错误信息,但是进程还是在运行着

解决办法:
kill -9 PID

kill -kill PID
成功杀掉进程

kill 实际的实际作用是给进程发信号(signal), 其常用格式为

kill -sig pid

这里的 sig 可以是信号对应的数字,也可以是信号名,比如你如果用 kill -9 pid 实际是发 9号信号给进城,9对应的信号名是 KILL。所以 kill -9 等价于 kill -KILL pid。 常用的几个信号是

INT        2   这个就是你在bash下面用Ctrl+C 来结束一个程序时,bash会向进程发送这个信号,默认的,进程收到这个程序会结束。 你可以用 kill -INT pid 来发这个信号。

QUIT       3   这个是你在bash下用 Ctrl+\ 来结束程序时,发的信号,进程默认受到这个信号后也是结束

KILL       9   这个信号之所以被称为“强杀”,就是因为无法改变进程收到这个信号后所执行的动作,进程只能退出。 (前面说的两个信号,虽然默认是退出,但是应用程序自己可以通过signal系统调用来修改成其他动作,比如忽略那两个信号等动作)

更多信息,可以man kill, 另外可以学习一下linux的信号机制,信号相关的系统调用等。对我说的有什么不明白之处,可以baidu hi我。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有