进程组/会话
简要概念:
- 进程组:N(N>=1)个进程的集合,通常在同一作业中关联起来(通过管道)。进程组的ID(PGID)即为进程组组长的PID。进程必定且只能属于一个进程组,只有进程组中一个进程存在,进程组就存在,与组长进程终止与否无关。进程组的概念提出主要是为了进程管理与信号分发
- 会话:N(N>=1)个进程组的集合,创建会话的进程叫会话首进程。会话ID即为会话首进程PID
- 控制终端:如果会话有控制终端,建立与控制终端连接的会话首进程叫控制进程(通常就是Shell进程),当前与终端交互的进程组为前台进程组,其余进程组成为后台进程组
- 无论合适输入终端的退出键,都会将退出信号发送到前台进程组的所有进程
- 如果控制终端断开连接,则将挂掉信号(SIGHUP)发送至控制进程(会话首进程),SIGHUP信号默认将导致控制进程终止