在兼容于POSIX标准的操作系统中,进程组(英语:Process group,又译过程组群)是指一个或多个进程的集合。进程组被使用于控制信号的分配。对于一个进程组发出的的信号,会被个别递送到这个组群下的每个进程成员中。

进程组本身,也可以被集合成一个组群来管理,称为会话组(sessions)。归属于某个特定会话组下的进程组,不能移动到别的会话组下;在某个进程组下的特定进程,在创造出新的进程时,这个进程也只能属于这个父进程所归属的相同会话组。

应用

shell程序借由提交信号(Signal)给进程组(Process groups)的方式来控制任务(job)。tty设备使用所谓的前景进程组(foreground process group),借由键盘送给这种组群的信号来产生中断:

  • SIGINT (INTerrupt, Control+C)
  • SIGTSTP (Terminal SToP, Control+Z)
  • SIGQUIT (QUIT, Control+\)

而背景进程组(Background process group)在尝试读取或者写至终端(Terminal)时,进程将收到SIGTTIN或SIGTTOU信号。接下来shell会切开该指令丢进进程组,然后控制在前景的进程组来处理终端有关的指令。

参考资料