我有一个类似的脚本:
#!/bin/bash
exec /usr/bin/some_binary > /tmp/my.log 2>&1
问题在于
some_binary
将其所有日志记录发送到stdout,并且通过缓冲使它成为标准,因此我只能看到几行的输出。当某些东西卡住时,这很烦人,我需要查看最后一行的内容。在执行将影响some_binary的exec之前,是否有任何方法可以使stdout变得无缓冲,因此它具有更有用的日志记录?
(包装程序脚本仅在exec之前设置几个环境变量,因此在perl或python中解决方案也是可行的。)
最佳答案
您可能会发现 unbuffer
随附的expect
脚本可能会有所帮助。