第9章 进程关系
- 引言
本章主要介绍,进程、进程组、会话、作业等进程关系。分别通过Unix的两种登录方式:终端登录及网络登录说明;通过管道命令生成不同的进程组
- 终端登录
- 什么是终端?
- BSD终端登录的流程?
init调用的过程,login调用,终端登录完成各种设置的进程安排
- 网络登录
- 什么是网络登录?
- 网络登录与终端登录的区别?
- 执行TELNET服务进程时调用的进程序列?
- 什么是伪终端设备?
- 网络登录完成各种设置后的进程安排?
- 进程组
- pid_t getpgrp(void);
返回值:调用进程的进程组ID
- pid_t getpgid(pid_t pid);
返回值:若成功,返回进程组ID;若出错,返回-1
- int setpgid(pid_t pid, pid_t pgid);
返回值:若成功,返回0;若出错,返回-1;
- 会话
1、会话是一个或多个进程组的集合。
2、
- 控制终端
1、控制终端、控制进程、前台进程组、后台进程组
- 函数tcgetpgrp, tcsetpgrp和tcgetsid
1、获得哪一个进程组是前台进程组
- 作业控制
1、对于前台、后台作业以及终端驱动程序的作业控制功能总结
- Shell执行程序
- 不支持作业控制的shell
$ ps –o pid, ppid, pgid, sid, comm
……
- 孤儿进程组
- 孤儿进程组与孤儿进程
- 将要成为孤儿进程组的实例
- FreeBSD实现
1、会话和进程组的FreeBSD实现
- 小结
- 重点:
- 理解Unix登录及后继过程
- 作业控制实例
- Shell执行实例
- 孤儿进程组
- 进程组与信号的关系
本博文深入探讨Unix系统中进程、进程组、会话、作业等关系,详细解析终端登录与网络登录流程,同时介绍了进程组、会话的概念及控制终端的函数,阐述了作业控制实例和Shell执行程序特性,最后讨论了孤儿进程组的定义与FreeBSD实现,为读者提供全面的Unix进程管理知识。
1263

被折叠的 条评论
为什么被折叠?



