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

Bash-从非阻塞命令获取输出,bash,python-2.7,Bash,Python 2.7,我有一个python程序main.py,它生成一些我想写入文件的输出。我想以非阻塞方式执行程序。通常我会使用python2.7main.py>main.out&或nohup python2.7main.py&>main.out& 我的问题是,程序可能会运行很长时间,我希望在程序终止之前能够访问迄今为止创建的输出。当我执行python2.7main.py>main.out然后用Ctrl-C停止程序时,输出文件已创建到目前为止的输出。但是,使用非阻塞命令时,输出文件在执行期间和我终止程序后保持为空

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

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


如何执行此操作?

您可以尝试使用python的
-u
标志,该标志将使用无缓冲的stdout/stderr运行python进程

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