• 进程关系之控制终端


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

    • 一个会话可以有一个控制终端(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/

  • 相关阅读:
    Hibernate关联的集合对象排序
    Hibernate级联查询的分页问题
    Hibernate双向一对多级联保存优化
    Struts流程分析+源码分析
    jsp自定义函数库
    Java异常处理和设计
    struts2总体介绍
    struts和struts2的区别
    搭建struct环境
    struts-config.xml的配置
  • 原文地址:https://www.cnblogs.com/nufangrensheng/p/3513443.html
Copyright © 2020-2023  润新知