进程关系之控制终端

会话和进程组有一些其余特性:编程

  • 一个会话能够有一个控制终端(controlling terminal)。这一般是登陆到其上的终端设备(在终端登陆状况下)或伪终端设备(在网络登陆状况下)。
  • 创建与控制终端链接的会话首进程被称为控制进程(controlling process)。
  • 一个会话中的几个进程组可被分红一个前台进程组(foreground process group)以及一个或几个后台进程组(background process group)。
  • 若是一个会话有一个控制终端,则它有一个前台进程组,会话中的其余进程组则为后台进程组
  • 不管什么时候键入终端的中断键(经常是DELETE或Ctrl+C),就会将中断信号发送给前台进程组的全部进程
  • 不管什么时候键入终端的退出键(经常是Ctrl+\),就会将退出信号发送给前台进程组中的全部进程
  • 若是终端接口检测到调制解调器(或网络)已经断开链接,则将挂断信号发送给控制进程(会话首进程)。

这些特性示于图9-7中。网络

1359166263_6583

有时无论标准输入、标准输出是否被重定向,程序都要与控制终端交换。保证程序能读写控制终端的方法是打开文件/dev/tty,在内核中,此特殊文件是控制终端的同义语。天然,若是程序没有控制终端,则打开此设备将失败。学习

 

本篇博文内容摘自《UNIX环境高级编程》(第二版),仅做我的学习记录所用。关于本书可参考:http://www.apuebook.com/blog

相关文章
相关标签/搜索