会话和进程组(转载)
2011-01-09 06:30
162 查看
由于 Linux 是一个多用户系统,同一时刻,系统中运行有属于不同用户的多个进程。那么,当处于某个终端上的用户按下了 Ctrl+C 键时(产生 SIGINT 信号),系统如何知道将该信号发送到哪个进程,从而不影响由其他终端上的用户运行的进程呢?
Linux 内核通过维护会话和进程组而管理多用户进程。如图 11-3 所示,每个进程是一个进程组的成员,而每个进程组又是某个会话的成员。一般而言,当用户在某个终端上登录时,一个新的会话就开始了。进程组由组中的领头进程标识,领头进程的进程标识符就是进程组的组标识符。类似地,每个会话也对应有一个领头进程。
同一会话中的进程通过该会话的领头进程和一个终端相连,该终端作为这个会话的控制终端。一个会话只能有一个控制终端,而一个控制终端只能控制一个会话。用户通过控制终端,可以向该控制终端所控制的会话中的进程发送键盘信号。
同一会话中只能有一个前台进程组,属于前台进程组的进程可从控制终端获得输入,而其他进程均是后台进程,可能分属于不同的后台进程组。
图 11-3 会话和进程、进程组
转自:http://hi.baidu.com/vv1133/blog/item/af1d74027df2a5024afb513c.html
Linux 内核通过维护会话和进程组而管理多用户进程。如图 11-3 所示,每个进程是一个进程组的成员,而每个进程组又是某个会话的成员。一般而言,当用户在某个终端上登录时,一个新的会话就开始了。进程组由组中的领头进程标识,领头进程的进程标识符就是进程组的组标识符。类似地,每个会话也对应有一个领头进程。
同一会话中的进程通过该会话的领头进程和一个终端相连,该终端作为这个会话的控制终端。一个会话只能有一个控制终端,而一个控制终端只能控制一个会话。用户通过控制终端,可以向该控制终端所控制的会话中的进程发送键盘信号。
同一会话中只能有一个前台进程组,属于前台进程组的进程可从控制终端获得输入,而其他进程均是后台进程,可能分属于不同的后台进程组。
图 11-3 会话和进程、进程组
转自:http://hi.baidu.com/vv1133/blog/item/af1d74027df2a5024afb513c.html
相关文章推荐
- 进程 、进程组、会话、控制终端之间的关系 (转载 http://blog.csdn.net/yh1548503342/article/details/41891047)
- (转载)Linux进程组、作业、会话的理解
- 进程的基本属性:进程ID、父进程ID、进程组ID、会话和控制终端
- ASP.NET会话(Session) 转载自:寒羽枫(cityhunter172)
- Linux中的进程组、作业以及会话
- Shiro经过Redis管理会话实现集群(转载)
- Linux进程间关系之进程组,作业,会话与作业控制。
- SQLServer出现 '其他会话正在使用事务的上下文' 的问题原因,什么是环回链接服务器?(转载)
- (转载)Setup Factory 会话变量
- WebService大讲堂之Axis2(6):跨服务会话(Session)管理 (转载)
- Linux--进程组,会话,精灵进程(fork一次与fork两次的区别)
- 进程,进程组,会话等的关系
- linux下进程-进程组-会话之间的关系-代码说明一切
- [转载]请君入瓮--会话固定
- 进程组与会话 Linux Process Groups and Sessions
- 进程组、作业、会话
- ASP.NET会话(Session) 转载自:寒羽枫(cityhunter172)
- 作业、进程组、会话和守护进程
- 进程组,作业与会话
- 进程 、进程组、会话、控制终端之间的关系