探索UNIX高级编程:进程关系与登录流程

需积分: 3 1 下载量 11 浏览量 更新于2024-08-02 收藏 561KB PDF 举报
"《UNIX环境高级编程》第009章探讨了进程关系在UNIX系统中的重要性。这一章节首先强调了进程间的父子关系,即子进程在终止后,其父进程能够接收到通知并获取子进程的退出状态。章节还提及了`waitpid`函数和进程组的概念,包括如何等待进程组中的任一进程结束。 接着,章节转向了POSIX.1引入的对话期(session)概念,这是理解进程间交互和管理的关键。登录shell,以及所有由登录shell启动的进程之间的关系也得到了深入剖析。由于信号在这些讨论中不可或缺,因此提到了对UNIX信号的了解,建议对信号不熟悉的读者阅读第10章作为前置知识。 9.2节专门研究终端登录过程。早期UNIX系统如V7,用户通过哑终端(RS-232)与主机连接,无论是本地还是远程。登录过程中,系统管理员在`/etc/ttytab`文件中配置每个终端设备及其参数,如波特率。内核中的初始化进程`init`负责加载用户并进入多用户模式,它会遍历`/etc/ttytab`,对每个允许登录的终端调用`fork`创建getty进程,后者负责管理和控制终端。 图9-1展示了这个过程,每个进程都以超级用户权限运行,且`init`以空环境启动`getty`。`getty`使用`open`函数打开终端设备,如果是调制解调器,可能需要等待用户拨号连接。这一章节深入介绍了这些核心进程及其在系统启动和用户登录中的作用,对于理解UNIX环境下的进程管理和用户交互至关重要。"