我想检测应用程序何时/是否出现问题read(stdin, ...)
。是否可以使用无缓冲 I/O,以便我可以等待外部进程中的写入?
问题:
有些命令在执行时需要用户输入,我想检测这些命令并处理它们,因为我的目标是无头环境。
我还在想该任务是否不太广泛,并且 的使用read(stdin, ..)
是否过于通用并且不限于请求用户输入,还有哪些其他约束集也适用?我能想到:
stdin
仅当尚未重定向以允许|
管道时才执行这些检查提示通常会读取整行(必须按 Enter 键),因此也许尝试写入单个字符
read(stdin, ...)
或者,如果应用程序不在发送输入的时刻,输入是否会被丢弃而不会阻塞(这只是我在终端中yes
发送垃圾邮件的理由)?y\n