Bash - 从非阻塞命令获取输出

时间:2013-07-17 09:33:36

标签: bash python-2.7

我有一个python程序main.py,它产生一些我想写入文件的输出。我想执行非阻塞程序。通常我会使用python2.7 main.py > main.out &nohup python2.7 main.py &> main.out &

我的问题是,该程序可能运行很长时间,并且我希望能够在程序终止之前访问到目前为止创建的输出。当我执行python2.7 main.py > main.out然后我用Ctrl-C停止程序时,输出文件到目前为止已创建输出。但是,使用非阻塞命令时,输出文件在执行期间以及在我终止程序后仍为空。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

你可以尝试使用py -u标志来运行带有无缓冲stdout / stderr的python进程

python2.7 -u main.py > main.out &