关于popen打开指令无法及时得到屏幕输出的问题

yupengchen1985 yupengchen1985 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
本人想在android系统中设计一个server,用于监控按键的按下事件,于是想到了使用popen调用getevent /dev/input/event3 这个指令,并且根据指令的控制台输出获得按键是否被按下,如下代码:
FILE* flie = popen("getevent /dev/input/event3", "r");
if(fgets(line, 32, flie) != NULL)
来获得指令的输出。但是这个办法却不能及时获得指令的输出,要等到指令的输出buf到一定程度的时候才能
fgets出来,不能及时反应按键的按下情况。我自己也试了fflush刷新file,但还是没有任何作用。奇怪了,我在adb shell执行getevent /dev/input/event3这个命令的时候会及时获得指令的输出结果,各位亲,谁做过这方便的东东,提个建议啊……分不够可以加。。。。。。。

...全文

相关推荐

如何解决fgets读取popen内容阻塞的问题

如何解决fgets读取popen内容阻塞的问题

路漫漫其修远.

解决python3中os.popen()出错的问题

使用程序难免会有出错的时候,如何从大篇代码中找出错误,不仅考验能力,还要考验小伙们的耐心。辛辛苦苦敲出的代码运行不出结果,非常着急是可以理解的。那么我们在python3中使用os.popen()出错该怎么办?本篇文章小编同样以错误的操作方法为大家进行讲解,一起找寻不对的地方吧。 在当前 desktop 目录下,有如下内容: desktop $ls client.py server.py 中文测试 arcpy.txt codetest.py test.py 如上所示:有一个中文命名的文件 —-> 中文测试 # -*- coding:utf-8 -*- # python3.5.1 im

weixin_38660579

python Popen 获取输出,等待运行完成示例

我就废话不多说了,直接上代码吧! import subprocess def excuteCommand(com): ex = subprocess.Popen(com, stdout=subprocess.PIPE, shell=True) out, err = ex.communicate() status = ex.wait() print("cmd in:", com) print("cmd out: ", out.decode()) return out.decode() 以上这篇python Popen 获取输出,等待运行完成示例就是小编分享给大家的全部内容了,希望

weixin_38628150

python中的subprocess.Popen()使用详解

今天小编就为大家分享一篇python中的subprocess.Popen()使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

weixin_38601878

对Python subprocess.Popen子进程管道阻塞详解

今天小编就为大家分享一篇对Python subprocess.Popen子进程管道阻塞详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

weixin_38661128
评论 5
收藏 已收藏
分享
返回顶部
yupengchen1985
C++ 语言 65,214 成员 250,514 内容