c语言 - "foreground process group"是控制终端的属性还是会话的属性?



linux中的会话可以具有控制终端。

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

tcsetpgrp()是通过TTY设备上的IOCTL TIOCSPGRP实现的。

此IOCTL依次实现在内核函数TIOCSPGRP中,设置了终端的pgrp的成员CC_4。

简而言之,前景过程组存储在TTY数据结构中。这是有道理的,因为前景过程组的效果是确定当用户按键组合(例如ctrl-c和ctrl-z)时,将从TTY接收哪些过程。

最新更新