码迷,mamicode.com
首页 > 系统相关 > 详细

进程控制(十四)---进程组

时间:2016-10-01 19:20:14      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:

  在Linux系统中,每个进程都会属于一个进程组,而每个进程组都有一个进程组ID(pgid),这个进程组ID的值等于组长进程的进程ID。通常在shell下执行的第一个程序将成为一个组长进程,其后生成的所有与此进程有血缘关系的进程都属于此进程组(除非子进程使用setpgid函数改变自己的进程组ID)。
=======================================================
  Linux系统提供了 getpgrp 函数和 getpgid 函数来读取进程的进程组 ID ,提供了 setpgid 函数来设置进程的进程组 ID。
函数原型:
技术分享
技术分享
函数参数:
  • getpgrp 函数没有参数,只能用来读取调用进程所属的进程组 ID
  • getpgid 函数用来读取进程 ID 为pid的进程组 ID,当 pid=0时,就相当于 getpgrp 函数
  • setpgid 函数用来设置进程 ID 为pid的进程的进程组 ID 为 pgid。如果pid=0,那么相当于设置调用进程本身的进程组ID;如果pgid=0,那么相当于设置进程组ID和pid相同。要注意的是:一个进程只能够为进程本身或者其子进程设置新的进程组 ID,而且新的进程组和原来的进程组必须是属于同一个会话(session)
返回值:
  • getpgrp:总会调用成功,返回调用进程的进程组ID
  • getpgid:调用成功返回pid的进程组ID,调用失败返回 -1
  • setpgid:调用成功时返回 0, 调用失败时返回 -1

进程控制(十四)---进程组

标签:

原文地址:http://www.cnblogs.com/frank-yxs/p/5926066.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!