所以我有一个 tty(比如说 /dev/tty5)并且想知道它当前是否是进程组或会话的控制 tty,或者它当前是否是无主的。POSIX 有两个 API 函数,它们在这里建议自己:tcgetpgrp() 和 tcgetsid(),但这两个函数都只有在调用者将 tty 作为控制 tty 时才有效——在这种情况下,这使它们几乎无用(实际上我没有根本看不到 tcgetsid() 的意义)。
有人建议我如何从 C 中以理智的方式检测终端当前是否是进程的控制终端?我只关心 Linux,所以如果需要特定于 Linux 的 API,那对我来说没问题。