使用“nohup”时,打印功能在整个程序完成之前不会打印

Xwa*_*ard 2 bash nohup julia

Julia 中的示例:假设我有一个包含以下代码的文件“test.jl”:

for i in 1:3
    sleep(2)
    print("i = ", i, "\n") 
end
Run Code Online (Sandbox Code Playgroud)

那么如果我跑

nohup julia test.jl &
Run Code Online (Sandbox Code Playgroud)

我不会每 2 秒得到一次打印结果。相反,我将在最后获得所有三个打印结果,这对于监视需要永远完成的循环的进度是无用的。

有什么建议?

Chr*_*son 5

很可能正在发生输出缓冲。尝试手动刷新标准输出:

for i in 1:3
    sleep(2)
    print("i = ", i, "\n") 
    flush(stdout)
end
Run Code Online (Sandbox Code Playgroud)