Bash-从非阻塞命令获取输出
我有一个python程序main.py,它生成一些我想写入文件的输出。我想以非阻塞方式执行程序。通常我会使用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停止程序时,输出文件已创建到目前为止的输出。但是,使用非阻塞命令时,输出文件在执行期间和我终止程序后保持为空
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 &