进程组、会话、作业和控制终端

来源:互联网 发布:mysql group concat 编辑:程序博客网 时间:2024/05/18 00:08

        进程组是为了信号传递这样的目的而建立的进程集合。比如说,在终端运行一个进程,这个进程fork了一个子进程。当我们在终端输入Ctrl+C。那么父进程和子进程都会收到这个中断信号,信号在这个进程组里面传递了。又比如说函数kill(pid_ t pid, int signo)。当pid为负数时,表示向一个进程组发送信号。

        会话是为了作业控制而建立的一个进程组集合(注意,进程组是进程的集合)。一个控制终端只与一个会话有关,一个会话中可能会有多个进程组,但任一时刻,只有一个进程组拥有控制终端(即可以从控制终端获取输入和输出到控制终端),拥有控制终端的进程称为前台进程组,其余的进程组称为后台进程。

        作业控制的主要目的是控制哪个进程组拥有控制终端。

        注意,有些系统并不支持作业控制。


       参考:《UNIX系统编程》

0 0
原创粉丝点击