进程组ID

在系统中,一个进程除了进程ID外,还有一个进程组ID。

进程组是一个或多个进程的集合,同一个进程组中的进程都有一个统一的进程ID。

进程组ID与进程ID都是pid_t类型的数据

获得一个进程的进程组ID可以采取如下调用:

#include<sys/types.h>

#include<unistd.h>

pid_t getgrp(void);


在进程组中,有一个特别的进程leader,他的进程ID和它所在的进程组ID是一致的。leader可以创建一个进程组,也可以创建属于该进程组的进程。

创建新的进程组或将一个进程加入一个已经存在的进程组,采用如下函数调用:

#include<sys/types.h>

#include<unistd.h>

int setpgid(pid_t pid,pid_t pgid);

pid=pgid时,用于创建一个新的进程组;

当pgid是一个已经存在的进程组ID时,将pid代表的进程加入该进程组中。

(调用成功时,返回值为0;失败时,返回值为-1)

你可能感兴趣的:(进程组ID)