我有一个类似的脚本:

#!/bin/bash
exec /usr/bin/some_binary > /tmp/my.log 2>&1

问题在于some_binary将其所有日志记录发送到stdout,并且通过缓冲使它成为标准,因此我只能看到几行的输出。当某些东西卡住时,这很烦人,我需要查看最后一行的内容。

在执行将影响some_binary的exec之前,是否有任何方法可以使stdout变得无缓冲,因此它具有更有用的日志记录?

(包装程序脚本仅在exec之前设置几个环境变量,因此在perl或python中解决方案也是可行的。)

最佳答案

您可能会发现 unbuffer 随附的expect脚本可能会有所帮助。

10-07 16:23
查看更多