药不能停,直接进入正题,本文3分钟读完。文中涉及到的缩写如下:
PID: 进程(process) ID
PPID:父进程(parent process) ID
PGID:进程组(process group) ID
SID:会话(session )ID
文中a.out对应的代码如下:
a.out代码
main()
{
fork();
while(1);
}
实验方法:
开一个terminal,运行三个a.out,得到3个进程组,6个a.out进程:
关系图如下:
解释如下:
bash的PPID是terminal
bash的PGID,SID都是bash自己的PID;
3个a.out进程组所有6个进程的SID都是bash的PID;
3个a.out进程组中的各个父进程PID会成为该进程组中所有进程的PGID;
进程树pstree关系如下:
通过ps命令验证如下: