小编The*_*ser的帖子

如何在没有stdbuf和类似工具的情况下解除传统运行二进制文件的stdout

我想监视我将要开始的程序的实时输出.我试图通过将程序的输出重定向到管道,然后从监视脚本中读取管道来实现此目的.

./program >> apipe
Run Code Online (Sandbox Code Playgroud)

然后从监控脚本

cat apipe
Run Code Online (Sandbox Code Playgroud)

但是由于>>中的缓冲区,没有输出.无论如何我可以禁用此缓冲区?我在一个准系统嵌入式系统(petalinux)上运行,因此我无法访问unbuffer,脚本或stdbuf来帮助我.

我已经尝试了另一个平台上的脚本,其中unbuffer可用,它可以正常工作.

我可以用任何方式配置这个缓冲区,或使用另一个二进制文件来重定向?

编辑:我无法访问我尝试运行的命令的源代码.它是传统的二进制文件.

bash buffer pipe petalinux

4
推荐指数
1
解决办法
560
查看次数

标签 统计

bash ×1

buffer ×1

petalinux ×1

pipe ×1