是否可以在bash中对文件描述符进行选择或轮询?我想要做的事情的本质是:
mkfifo fifo
exec 3<fifo
PROMPT_COMMAND="while read -t 0 line; do echo \$line; done <&3"
Run Code Online (Sandbox Code Playgroud)
exec用于保持管道打开(否则它将在每个循环结束时关闭).从理论上讲,这会在每次提示之前输出任何进入管道的内容.但是,它似乎不起作用,因为-t0甚至没有尝试阅读.
-t 1 就像一个魅力,但这会在每个提示时强制延迟一秒,这不是我想要的.
最佳的是使用.2秒超时进行选择(如果我执行的命令反过来导致某些东西被写入管道,那么在我使用异步消息时肯定会有短暂的延迟),并且那种延迟我可以忍受.零超时可能没问题,那么我只是创建一个程序以具有亚秒级延迟.
有任何想法吗?
| 归档时间: |
|
| 查看次数: |
3133 次 |
| 最近记录: |