2
我无法与缓冲区:如何保存没有缓冲区的tty?
我有一个守护进程d,其监测M. d为M之前开始,和M打印任何相关信息到TTY,我需要分析该信息,并把它交给我自己的程序。
由于我想自动执行此操作,M应该打印到一个文件。但是直到守护进程因为缓冲区而被杀死。
所以我想记录的tty,因此试图使用脚本来记录其输出到终端,但...它也缓冲...
我也试图让访问GNU的coreutils(以使用我明显需要的stdbuf),但不得不放弃当我无法安装实用程序来解压缩在GNU网站上提出的奇特的.xz格式!
我担心我甚至没有做正确的事情! 这个问题没有一个简单的解决方案,可能每个人与实时工作有?
有一点帮助将不胜感激。谢谢。
嗨sehe, 这其实不是给我头疼的.xz,而该应用工具将其解压缩(XZ ...)无法在我的机器上安装。但是我回到了存储库,发现了一个很好的打包.tar.gz。 我已经看到您提供给我的两个链接(或等价物),但未能理解如何将其应用于我的问题。不过,我会重新阅读它们。 – gqq 2011-06-01 13:40:11
好吧,所以我设法安装了stdbuf,这正是我需要的! 我使用stdbuf -oL作为我的守护进程及其监视器的前缀。我想我仍然错过了实际录制的一部分(1行),但它不是重要的信息,所以我会认为暂时完成。 感谢您的指导,重新阅读了pixelbeat页面我终于明白了为什么libc被涉及,并且stdbuf技巧工作得很好;) 编辑:stdbuf是基于您提到的LD_PRELOAD hack。 – gqq 2011-06-01 14:12:03