前台进程,会话,控制终端,用户的关系


前台进程,会话,控制终端,用户的关系
1、 一个会话和一个控制终端一一对应
2、 一个控制终端对应一个前台进程组
3、一个会话拥有一个前台进程组和若干后台进程组
4、 会话中的所有进程都对应同一个控制终端
5、 只有前台进程可以read write控制终端
6、 控制终端收到一些特殊的信号字符,会发送相应的信号给前台进程组的进程
7、 控制终端退出或者控制进程的退出,会发送sighup信号给前台进程组
完整场景: 用户通过终端登录时,login shell 成为会话leader和控制进程,该终端被设置成为控制终端;login shell是该会话的唯一进程,在该终端中执行命令,会将命令中的进程放入一个新的进程组(前台or后台)执行;当终端关闭时,内核发送SIGHUP给控制进程,即login shell, login shell发送SIGHUP给由login shell创建的所有进程组,如果login shell控制进程退出,则kernel发送sighup给前台进程组中的所有进程(支持作业的情况下,也会发给后台进程组中的所有进程),SIGHUP的默认动作是终止进程,所以login shell和相应的子进程都终止,控制终端和会话的映射关系解除。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值