我有一个简单的python脚本,它只运行一个无限循环并打印“running”。当我在后台使用nohup启动它时,我在当前目录中看到一个nohup.out文件但是没有任何内容写入它。我很迷惑。我试过以下
nohup test.py
写入nohup.out但显然不在后台运行
nohup test.py &
在后台运行但不写入nohup.out
nohup test.py 2>&1 &
也在后台运行但不写入nohup.out
我打赌我错过了一些简单的事情。有什么想法吗?
这是我的python脚本供参考:
import sys
from time import sleep
def main():
print "Starting...."
while True:
print "running..."
sleep(5.00)
if __name__ == "__main__":
main()
答案 0 :(得分:11)
也许你的stdout没有立即刷新,因为它没有连接到终端。尝试使用
import sys
sys.stdout.flush()
刷新输出。