Prayer

在一般中寻求卓越
posts - 1256, comments - 190, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

父进程如何获得子进程的ID号呢

Posted on 2009-01-06 16:05 Prayer 阅读(4345) 评论(0)  编辑 收藏 引用 所属分类: LINUX/UNIX/AIX
一旦调用了fork(),系统就用父进程的代码段产生一个子进程,父子进程是公用同一个代码段,  
  显然,在fork()调用的时候,fork()函数本身,也将出现在两个进程中,但fork()再子进程中返回0,在子进程中返回子进程的id,父子进程虽然公用代码段,但不公用数据段,所以pid=fork()分别在父子进程执行以后,各自的pid变量是不同的。  
  所以读取pid的值就可以判断代码段当前处于哪个进程中,在子进程中pid就是子进程的id,


父进程中的fork()返回两次,0代表在父进程内,>0,这个返回值就是子进程的进程号,同时代表现在处在子进程中。子进程复制父进程的代码执行(从fork()返回处开始执行)

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理