unix nohup 日志填充了 0 字节

unix nohup 日志填充了 0 字节

我正在后台运行监控脚本。他们应该全天(24x7)。

在脚本中,根据监视器输出,我有一个使用 启动进程的函数nohup,将输出重定向到日志文件 / home/nohub_logs/logfile.txt

该脚本可以正常工作几个小时,但在这几个小时之后,日志文件的长度仍然为零。有时,如果我终止监视脚本并重新启动脚本,我会得到一些输出。

nohup startprocessscript.sh >> /home/nohuplog &

一段时间后会生成日志。例如,如果脚本在前 24 小时内运行,则 24 小时后将不会创建日志。如果我们重新启动脚本,就会创建日志。

我不确定为什么有时nohup日志文件没有获取任何生成的数据。请任何人帮助我。

答案1

此问题的一个常见原因是输出缓冲。

仅在写入足够的数据后,您的脚本输出可能才会刷新到日志文件。

可能的解决方法是stdbufunbuffer参见关闭管道中的缓冲

相关内容