这篇文章简单的介绍下进程组和会话组,主要意图是说明这两个东西是什么,关于它们有什么作用,这里不多做介绍。

      进程组:

      进程组就是多个进程的集合,这些进程构成一个进程组,一般情况下,一个进程组是由一个进程 fork 出来的,之后,它的子进程再去 fork ,最后,得到了一个进程组。当然,单个的进程也是一个进程组。进程组有进程组 id ,它通常是第一个进程的 pid ,也就是组长进程的 pid 。一个进程组中的所有进程都能收到相同的信号,这是由于进程组组长转发的原因。

      我们看下面这张截图:

进程组和会话组_进程组

      这里,我在终端里输入命令 iwconfig ,那么这个命令就会导致一个新的进程的创建,由此,也就产生了一个进程组,这个进程组的组长进程是 iwconfig ,它没有其他的成员。


      会话组:

      会话是由多个进程组组成的,多个进程组配合完成一件事情,这些进程组就够成了一个会话,同样,当信号发给一个会话组时,信号会有会话领导转发给其中的所有进程,会话领导往往就是进程组组长。

      我们看下面这张截图:

进程组和会话组_linux_02

      我们可以看到这样一条很长的命令:

      iwconfig wlan0 | grep Link | cut -d '=' -f 3  ,这三个命令由管道相互连接,共同合作,取出网卡的信号强度。这三个命令属于三个进程组,这三个进程组又组成了一个会话组。


      看到这里,你是不是对进程组和会话组这样的名词理解了呢?