标准输入读取通知

标准输入读取通知

我想检测应用程序何时/是否出现问题read(stdin, ...)。是否可以使用无缓冲 I/O,以便我可以等待外部进程中的写入?

问题:

有些命令在执行时需要用户输入,我想检测这些命令并处理它们,因为我的目标是无头环境。

我还在想该任务是否不太广泛,并且 的使用read(stdin, ..)是否过于通用并且不限于请求用户输入,还有哪些其他约束集也适用?我能想到:

  • stdin仅当尚未重定向以允许|管道时才执行这些检查

  • 提示通常会读取整行(必须按 Enter 键),因此也许尝试写入单个字符

read(stdin, ...)或者,如果应用程序不在发送输入的时刻,输入是否会被丢弃而不会阻塞(这只是我在终端中yes发送垃圾邮件的理由)?y\n

相关内容