UNIX环境高级编程之第9章:进程关系

时间:2021-11-22 22:15:37

9.1 引言

在上一章我们已经了解进程之间具有关系,首先,每个进程有一个父进程(初始的内核级进程通常是自己的父进程).本章将更详细地说明进程组以及POSIX.1引入会话的概念还将介绍登陆shell和所有从登陆shell启动的进程之间的关系

9.2 终端登陆

随着位映射图形终端的出现,开发处窗口系统,它向用户提供了与主机系统进行交互的新方式.创建终端窗口的应用也被开发出来,它仿真了基于字符的终端, 使得用户可以用熟悉的方式(即通过shell命令行)与主机进行交互

9.3 网络登陆

9.4 进程组

每个进程除了有一个进程ID之外,还属于一个进程组

9.5 会话

会话(session)是一个或多个进程组的集合
例如:
UNIX环境高级编程之第9章:进程关系

9.6 控制终端


UNIX环境高级编程之第9章:进程关系

9.7 函数tcgetpgrp, tcsetpgrp和 tcgetsid

需要有一种方法来通知内个哪一个进程组是前台进程组,这样,终端设备驱动程序就知道讲终端输入和终端产生的信号发送到何处.

9.8 作业控制(Job Control)

它允许在一个终端上启动多个作业(进程组),它控制哪个作业可以访问该终端一个哪个作业再后台运行
UNIX环境高级编程之第9章:进程关系
作业控制是再POSIX.1要求的部分,但现在要不要用作业控制还有争议

9.9 shell执行程序(shell Execution of programs)

9.10 孤儿进程组

一个父进程已经终止的进程成为孤儿进程,这种进程由init进程收养"收养".一个进程组也可以成为孤儿进程组

9.11 FreeBSD实现

9.12 小结

本章说明进程组之间的关系- 会话,它是由若干个进程组组成,作业控制是当今很多Unix系统所支持的功能.