bash - 告诉 nohup 实时写入输出

标签 bash output real-time nohup

当使用 nohup 时,脚本的输出会被缓冲,只有在脚本执行完毕后才会转储到日志文件 (nohup.out) 中。以接近实时的方式查看脚本输出以了解其进展情况将非常有用。 有没有办法让 nohup 在脚本产生输出时写入输出?或者,由于如此频繁的文件访问操作很慢,因此在执行期间定期转储输出?

最佳答案

为此有一个特殊的程序:unbuffer!参见 http://linux.die.net/man/1/unbuffer

这个想法是您的程序的输出例程识别出 stdout 不是终端 (isatty(stdout) == false),因此它们将输出缓冲到某个最大大小。使用 unbuffer 程序作为您程序的包装器将“欺骗”它一次写入一行输出,就像您直接在交互式终端中运行该程序一样。

关于bash - 告诉 nohup 实时写入输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28235928/

相关文章:

bash - 是否有 `sh` 相当于 bash 的 `<<<' 重定向运算符?

c - 递归输出C

python -\r\n 在我的文本文件中显示为字符串

c++ - gnuplot 2-D 从数组绘图 - 实时

parse-platform - 带存储的 Pubnub 聊天应用程序

android - 本地移动应用程序的实时服务器更新

linux - 是否可以将变量从一个 shell 更新到另一个 shell?

linux - 验证输入的最后 4 个字符的 Bash 脚本

apache - 如何在 awk 中打印一系列数据?

javascript - 在 JavaScript 中使用石头剪刀布蜥蜴 Spock Final 时遇到问题