rag*_*rag 4 job-control session process-groups
我从Informit 文章中了解到,会话和进程组用于在退出时终止后代进程,并向具有作业控制的相关进程发送信号。
我相信可以使用每个进程的 PPID 在任何时候提取此信息。这些概念的存在是否只是为了拥有一个能够快速获取进程后代的数据结构?
除了作业控制和终止后代之外,会话组和进程组是否还从事其他工作?他们存储任何上下文信息吗?
任何好的参考资料都会有所帮助。
Gil*_*il' 6
进程组的存在主要是为了确定从终端启动的哪些进程可以访问该终端。只有前台进程组中的进程可以读取或写入其控制终端;后台进程由 SIGTTIN 或 SIGTTOU 信号停止。
您可以通过将负 PID 参数传递给 来自动向进程组中的所有进程发送信号kill。当终端驱动程序响应特殊字符Ctrl(例如+的 SIGINT C)而生成信号时,也会发生这种情况。
kill
会话跟踪哪些进程组连接到终端。只有与控制进程在同一会话中运行的进程才是前台或后台进程。
无法从 PPID 确定进程组或会话。您无法知道进程的父进程是否位于同一进程组中还是不同的进程组中,会话也是如此。
归档时间:
12 年,2 月 前
查看次数:
910 次
最近记录: