免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2320 | 回复: 7
打印 上一主题 下一主题

kill进程问题!(高手解答) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-13 11:38 |只看该作者 |倒序浏览
10可用积分
硬件环境:mips平台
内核:2.6.21.7

问题:  启动运行应用程序,ps一把,如果kill掉此进程后马上会产生此进程的僵死状态。但是这种现象也不是必然发生的,重启下系统,重复上述过程,又是正常的。出错性是随机的。
  例如,执行./helloworld 这个程序,产生helloworld的进程,如:18816 root        368 S   ./helloworld,18816为此进程的id号,kill 18816后,正常情况下ps后此条记录消失,错误情况为18816 root        368 Z   ./helloworld。本程序跑得是多线程,加netlink机制。是不是这两部分引起的?

论坛徽章:
0
2 [报告]
发表于 2009-03-13 12:09 |只看该作者
产生僵尸进程的是因为父进程没有wait或waitpid已经结束的子进程,或者显式忽略SIGCHLD信号。。。
不过如果是多线程的话,主线程退出而其它子线程没有退出的话也会出现这种情况的。。。
试试kill -9 PID

[ 本帖最后由 alexhappy 于 2009-3-13 13:50 编辑 ]

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
3 [报告]
发表于 2009-03-13 13:08 |只看该作者
kill -9 PID
正解,呵呵

论坛徽章:
0
4 [报告]
发表于 2009-03-13 16:50 |只看该作者
楼上说的我写代码都考虑进去了,signal(SIGCHLD,SIG_IGN);,
而且一个不存在多线程和父子进程的程序,运行起来kill时遇到的是同样的错误。

比较茫然!!呵呵。。:em11:

论坛徽章:
0
5 [报告]
发表于 2009-03-14 22:22 |只看该作者
kill默认发的什么信号?

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
6 [报告]
发表于 2009-03-15 13:40 |只看该作者
原帖由 alexhappy 于 2009-3-14 22:22 发表
kill默认发的什么信号?

这个你查下手册就有了,TERM

论坛徽章:
0
7 [报告]
发表于 2009-03-17 16:48 |只看该作者

回复 #1 pigcrying 的帖子

kill -9 pid
或者kill -HUP pid

论坛徽章:
0
8 [报告]
发表于 2009-03-17 17:16 |只看该作者
这种悬赏问问题不给分儿的行为很让人鄙视.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP