Linux中的会话可以有一个控制终端。
我感兴趣的是当您设置控制终端的前台进程组(使用tcsetpgrp()
)时,是保存前台进程组属于控制终端数据结构还是属于会话数据结构?
答案 0 :(得分:1)
tcsetpgrp()
是通过tty设备上的ioctl TIOCSPGRP
实现的。
这个ioctl反过来在内核函数tiocspgrp中实现,为终端设置pgrp
的成员struct tty_struct
。
简而言之,前台进程组存储在tty数据结构中。这是有道理的,因为前台进程组的效果是识别当用户按下诸如ctrl-C和ctrl-Z之类的组合键时哪些进程将从tty接收信号。