免费注册 查看新帖 |

Chinaunix

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

[函数] 有谁来解释下waitpid函数中 pid的值为-1和0的区别 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-03 02:52 |只看该作者 |倒序浏览
man中解释如下:
      -1    which  means  to  wait  for  any child process; this is the same
              behaviour which wait exhibits.

      0      which means to wait for any child process whose process group ID
              is equal to that of the calling process.

我的理解是,在为-1时,能捕捉到不同用户组运行该程序时的子进程???貌似不行,我做过试验,将另一个用户的进程杀掉。。

[ 本帖最后由 lin_style 于 2008-8-3 04:35 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-08-03 03:17 |只看该作者
原帖由 lin_style 于 2008-8-2 10:52 发表
man中解释如下:
      -1    which  means  to  wait  for  any child process; this is the same
              behaviour which wait exhibits.

      0      which means to wait for any child proce ...


刚好意思相反了吧。。

论坛徽章:
0
3 [报告]
发表于 2008-08-03 04:35 |只看该作者
汗。是相反了。纠正下。
但是怎么验证这个功能。
我试过不同的用户运行,捉不到。

论坛徽章:
0
4 [报告]
发表于 2008-08-03 19:16 |只看该作者

论坛徽章:
0
5 [报告]
发表于 2008-08-04 00:45 |只看该作者
pid>0时,只等待进程ID等于pid的子进程,不管其它已经有多少子进程运行结束退出了,只要指定的子进程还没有结束,waitpid就会一直等下去。
pid=-1时,等待任何一个子进程退出,没有任何限制,此时waitpid和wait的作用一模一样。
pid=0时,等待同一个进程组中的任何子进程,如果子进程已经加入了别的进程组,waitpid不会对它做任何理睬。
pid<-1时,等待一个指定进程组中的任何子进程,这个进程组的ID等于pid的绝对值。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP