进程组与会话
进程组
什么是进程组?
- 进程组:一组协同工作或关联进程的集合,每个进程组有ID(PGID)
- 每个进程属于一个进程组,每一个进程组有一个进程组长,该进程组长ID(PID)与进程组ID(PGID)相同
- 一个信号可以发送给进程组的所有进程、让所有进程终止、暂停或继续运行
会话
什么是会话?
- 会话是一个或多个进程组的集合
- 当用户登录系统时,登录进程会为这个用户创建一个新的会话(session)
- shell进程(如bash)作为会话的第一个进程,称为会话进程(session leader)
- 会话的PID(SID):等于会话首进程的PID
- 会话会分配给用户一个控制终端(只能有一个),用于处理用户的输入输出
- 一个会话包括了该登录用户的所有活动
- 会话中的进程由一个前台进程组和N个后台进程组构成