UNIX环境高级编程:进程关系与登录详解

需积分: 0 0 下载量 41 浏览量 更新于2024-07-27 收藏 561KB PDF 举报
"UNIX环境高级编程(第九章)" 在UNIX操作系统中,进程间的关系是系统管理与调度的重要组成部分。第九章“进程关系”深入探讨了这些关系,包括进程组、对话期、控制终端以及与登录和shell执行程序的关联。这一章主要关注的是在UNIX高级编程环境中,如何理解和处理与进程交互的各种机制。 9.1引言中提到,每个进程都有一个父进程,并且当子进程结束时,父进程会收到通知。进程组和对话期的概念也在上一章有所提及,本章将对此做更深入的讨论。此外,信号处理是理解进程关系的关键,但需要对UNIX信号有基础的了解,如果读者还不熟悉,建议先查阅第十章的内容。 9.2终端登录部分详细描述了用户如何通过终端设备登录系统。在4.3+BSD系统中,登录过程涉及到/etc/ttys文件,该文件定义了每个终端设备及其相关参数。init进程(进程ID1)在系统启动后负责读取此文件,为每个允许登录的设备创建子进程来执行getty程序。getty程序负责与终端设备交互,如设置波特率,并等待用户的登录信息。 9.2.1 4.3+BSD终端登录和9.2.2 SVR4终端登录的描述揭示了不同版本UNIX系统中登录过程的差异,包括如何处理远程登录和本地登录。 9.3网络登录章节讨论了通过网络进行登录的情况,4.3+BSD和SVR4系统的网络登录机制也有所区别。 9.4至9.6部分,介绍了进程组、对话期和控制终端的概念。进程组是一组相关进程,而对话期是指一组具有共享控制终端的进程。控制终端是与特定进程组关联的终端,用于接收作业控制信号。 9.7和9.8涉及tcgetpgrp和tcsetpgrp函数以及作业控制。这些函数用于获取和设置进程组,作业控制则是指用户对进程组的管理和操作,如挂起、恢复和后台运行。 9.9壳牌执行程序(shell)是用户界面,通常在登录时启动,并负责解释用户命令和管理进程。 9.10孤儿进程组是指当父进程结束,但其子进程仍然存在的情况下,这些子进程组的状态。系统会自动选择一个新的父进程(通常是init)来接管这些孤儿进程。 9.11 4.3+BSD实现章节则具体讲述了在4.3+BSD系统中上述概念的实现细节。 最后,9.12小结回顾了本章的关键点,习题则提供了进一步学习和巩固知识的机会。 本章内容对于深入理解UNIX环境下的进程交互、登录机制以及作业控制至关重要,是高级编程者和系统管理员必备的知识。通过学习这一章,开发者可以更好地编写和管理在UNIX系统上运行的程序。