Android adb shell中将getevent信息重定向到文本文件,为什么会出现缓存情况

hmxingkong 2013-06-26 10:32:46


这两天遇到个很奇怪的事,是在android中将可执行文件的printf信息重定向到文本文件,系统会每每缓冲4k左右的内容才往文件里输出,直接在shell中执行是可以得到实时信息的,而且不止getevent,其他命令也会有相同的情况,我需要在重定向之后也能得到实时的信息,感请各位前辈指点,感激不尽……
...全文
506 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2013-11-10
  • 打赏
  • 举报
回复
能不能教一下怎么实时拿到getevent的log的 我对C 不熟 感激不尽
hmxingkong 2013-06-27
  • 打赏
  • 举报
回复
http://blog.csdn.net/silyvin/article/details/8281342 http://www.cnblogs.com/Anker/archive/2012/12/25/2832568.html http://www.51testing.com/?uid-292219-action-viewspace-itemid-821656 Code: #ifdef HAVE_POSIX_OPENPT int fd = posix_openpt(O_RDWR); #else int fd = open("/dev/ptmx", O_RDWR); #endif //HAVE_POSIX_OPENPT 纠结两天多,问题解决,‘伪终端’
hmxingkong 2013-06-26
  • 打赏
  • 举报
回复
这个确定不是应为显示延迟,自己写了测试程序,在printf之后调用fflush(stdout)能够得到实时的信息,可参考: http://blog.csdn.net/melanie327/article/details/8275909 http://womeikongya.blog.163.com/blog/static/58599220201011215143125/ 问题是第三方命令已经编译好了不能再修改,所以有没有办法禁用这个缓冲区或者使用其他方式flush目标命令的缓冲区呢?
雨焰 2013-06-26
  • 打赏
  • 举报
回复
这个应该是系统在重定向的时候,更新导致的吧,也就是说,打印信息已经定义到只是系统显示的时候没有跟上

80,357

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧