当某些输入(标准输入、文件、命名管道)可用时发出通知?

当某些输入(标准输入、文件、命名管道)可用时发出通知?

当“文件”的输入可用时,是否存在某种机制来异步通知?

我有一个程序可以循环工作。到目前为止一切顺利。但还有一条串行线,每当出现一条消息时,程序都会立即做出反应,做一些特别的事情,然后返回到它的无限循环。有点像硬件中断,但由信息“某些输入可用”触发

答案1

如果你问在 bash 中这是否可行,答案是否定的;另请参见此处:

https://stackoverflow.com/questions/37049612/equivalent-of-select-system-call-in-bash

但是,有一个 select() 系统调用(参见“man 2 select”),您可以在脚本语言(如 Perl、Ruby、Python)中使用它,当然也可以在编译语言(如 C 或 C++)中使用它,但不能在 bash 中使用它。

select() 的作用是等待来自多个文件描述符中的任意一个的数据可用。

相关内容