【问题标题】:Is the "foreground process group" a property of the controlling terminal or a property of the session?“前台进程组”是控制终端的属性还是会话的属性?
【发布时间】:2017-11-24 09:53:17
【问题描述】:

Linux 中的会话可以有一个控制终端。

我有兴趣知道的是,当您设置控制终端的前台进程组(使用tcsetpgrp())时,是保存前台进程组ID的变量进程组属于控制终端数据结构还是属于会话数据结构?

【问题讨论】:

    标签: c linux linux-kernel


    【解决方案1】:

    tcsetpgrp() 是通过 tty 设备上的 ioctl TIOCSPGRP 实现的。

    这个ioctl又在内核函数tiocspgrp中实现,为终端设置struct tty_struct的成员pgrp

    简而言之,前台进程组存储在 tty 数据结构中。这是有道理的,因为前台进程组的作用是识别当用户按下 ctrl-C 和 ctrl-Z 等组合键时哪些进程将从 tty 接收信号。

    【讨论】:

      猜你喜欢
      • 2018-11-27
      • 1970-01-01
      • 2012-05-14
      • 1970-01-01
      • 2013-06-06
      • 2012-06-21
      • 2014-04-11
      • 2011-07-28
      相关资源
      最近更新 更多