加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

在bash中等效于select或poll

发布时间:2020-12-15 22:33:28 所属栏目:安全 来源:网络整理
导读:是否可以在bash中对文件描述符进行选择或轮询?我想要做的事情的本质是: mkfifo fifoexec 3fifoPROMPT_COMMAND="while read -t 0 line; do echo $line; done 3" exec用于保持管道打开(否则它将在每个循环结束时关闭).从理论上讲,这会在每次提示之前输出任
是否可以在bash中对文件描述符进行选择或轮询?我想要做的事情的本质是:

mkfifo fifo
exec 3<fifo
PROMPT_COMMAND="while read -t 0 line; do echo $line; done <&3"

exec用于保持管道打开(否则它将在每个循环结束时关闭).从理论上讲,这会在每次提示之前输出任何进入管道的内容.但是,它似乎不起作用,因为-t0甚至没有尝试阅读.

-t 1就像一个魅力,但是每次提示都会导致一秒延迟,这不是我想要的.

最佳的是使用.2秒超时进行选择(如果我执行的命令反过来导致某些东西被写入管道,那么在我使用异步消息时肯定会有短暂的延迟),并且那种延迟我可以忍受.零超时可能没问题,那么我只是创建一个程序以具有亚秒级延迟.

有任何想法吗?

解决方法

我今天 stumbled on this,它实际上很优雅地解决了我的问题.屏幕允许拆分当前终端窗口,我可以将窗口的一部分缩小到几行,我保留输入,在窗口的另一部分只有cat fifo.

屏幕肯定比我已经知道的要多得多(单独分离使它成为有史以来最好的工具之一).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读