问题 为什么要阻止文件作为控制终端打开(使用O_NOCTTY)?


O_NOCTTY的目的记录为:

O_NOCTTY - 阻止操作系统将打开的文件指定为   打开TTY设备文件时进程的控制终端

有人可以解释防止文件打开控制终端的意图吗?


10339
2017-08-22 18:17


起源



答案:


拥有控制tty意味着某些条件可能会将特定信号发送到您的程序,以响应程序运行的tty /窗口上发生的事情。如果程序是一个守护进程,那么确保你没有控制权比通常更清楚,而不是尝试编写代码来处理你并不真正关心的所有额外条件。 ..


11
2017-08-22 18:39



你能举出一个控制终端需要注意的案例吗? - JVN
@JVN只看可能的信号 - SIGINT(通常映射到ctrl-c),或SIGABRT(ctrl- \是公共密钥映射),SIGTSTP,SIGTTIN,SIGTTOU,SIGHUP,SIGWINCH(可能还有其他几个)都是相关的对控制TTY的不同事件。除了信号之外还有其他考虑因素...... - twalberg
非常感谢信息...... :) - JVN


答案:


拥有控制tty意味着某些条件可能会将特定信号发送到您的程序,以响应程序运行的tty /窗口上发生的事情。如果程序是一个守护进程,那么确保你没有控制权比通常更清楚,而不是尝试编写代码来处理你并不真正关心的所有额外条件。 ..


11
2017-08-22 18:39



你能举出一个控制终端需要注意的案例吗? - JVN
@JVN只看可能的信号 - SIGINT(通常映射到ctrl-c),或SIGABRT(ctrl- \是公共密钥映射),SIGTSTP,SIGTTIN,SIGTTOU,SIGHUP,SIGWINCH(可能还有其他几个)都是相关的对控制TTY的不同事件。除了信号之外还有其他考虑因素...... - twalberg
非常感谢信息...... :) - JVN