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

Lun*_*oms 14 c linux

O_NOCTTY的目的记录为:

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

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

twa*_*erg 14

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

  • @JVN 只看可能的信号 - SIGINT(通常映射到 ctrl-c)或 SIGABRT(ctrl-\ 是常见的键映射)、SIGTSTP、SIGTTIN、SIGTTOU、SIGHUP、SIGWINCH(可能还有其他几个)都是相关的到控制 TTY 上的不同事件。除了信号之外,还有其他考虑因素...... (2认同)