我遇到缓冲区问题:
我有一个守护进程D,它的监视器M. D在M之前启动,并且M将任何相关信息打印到tty,我需要解析这些信息并将其提供给我自己的程序。
由于我想自动执行此操作,因此M应该打印到文件。但是直到守护进程因为缓冲区而被杀死时才会这样做。
所以我考虑记录tty,因此尝试使用脚本将输出记录到终端但是...它也被缓冲了......
我也试过访问gnu coreutils(使用我显然需要的stdbuf),但是当我无法安装该实用程序来解压缩GNU网站上提出的特殊.xz格式时,我不得不放弃!
我担心我甚至没做正确的事! 是不是有一个简单的解决这个问题的方法,可能每个使用实时工作的人都有?
一点帮助将不胜感激。感谢。
答案 0 :(得分:1)
xz
或7zip
此页面是我对stdio缓冲的首选参考:http://www.pixelbeat.org/programming/stdio_buffering/
<子> PS。 “每个与实时合作的人”都可能使用IPC并且不依赖于bash。 Perl,python和显然所有低级语言提供了明确禁用/启用缓冲的方法