Pau*_*man 9 nohup ubuntu-10.04
在 Ubuntu 10.04 上,我有一个很长的 Python 程序,可以打印一堆输出;我在“nohup”下运行它。但是,它会等到最后将所有文本放入 nohup.out 中。当我在 FreeBSD 下运行类似的程序时,每一行都会被发送到 nohup.out。是否有我可以设置的 Ubuntu 设置来更快地获得输出?
是的,这与 Linux 上默认缓冲 stdout 的方式有关。您需要在代码中显式运行 setbuf() 以覆盖此行为。
我的建议是避免 nohup,如果您使用的是 bash shell,它允许您将命令与 shell 分离
$ ( my_cmd > ~/output.log 2>&1 & )
Run Code Online (Sandbox Code Playgroud)
您还可以disown对当前正在运行的作业产生类似的效果。