Linux   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了linux – Bash中select()系统调用的等价物大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

在我的脚本中,我试图从几个串口读取数据以协调多个设备. 我可以使用exec 9< / dev / ttyACM0&&& exec 8< / dev / ttyACM1等 我正在跳跃,然后我可以对这些文件描述符执行类似SELEct()的操作以等待数据到达,然后使用读取0<& 9或读取0< 8取决于哪一个已接收数据来处理它.不幸的是我找不到Bash的SELEct()等价物. 我能找到的最接近的是使用r
在我的脚本中,我试图从几个串口读取数据以协调多个设备.

我可以使用exec 9< / dev / ttyACM0&&& exec 8< / dev / ttyACM1等 我正在跳跃,然后我可以对这些文件描述符执行类似SELEct()的操作以等待数据到达,然后使用读取0<& 9或读取0< 8取决于哪一个已接收数据来处理它.不幸的是我找不到BashSELEct()等价物.

我能找到的最接近的是使用read -t 0 0<& 9来轮询要读取的数据.我不喜欢这个,因为它需要睡眠以防止脚本消耗100%的处理器.然亚秒级睡眠是可能的,例如而真实;睡觉0.01;这样做会消耗我系统上约4%的处理器.我可以将其恢复到0.1秒并将其降低至<1%,但它仍然没有“感觉”正确的方式,因为它为设备之间的任何协调增加了至少100ms的额外延迟. 这有什么解决方案吗?是否有Bash SELEct()等效?

解决方法

大佬总结

以上是大佬教程为你收集整理的linux – Bash中select()系统调用的等价物全部内容,希望文章能够帮你解决linux – Bash中select()系统调用的等价物所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。