我有一个简单的python脚本,它只运行一个无限的while循环并显示“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()
最佳答案
也许您的标准输出没有立即刷新,因为它没有连接到终端。尝试使用
import sys
sys.stdout.flush()
刷新您的输出。
在 python3 中,您可以使用
flush=True
作为打印函数的参数来执行此操作。print("running...", flush=True)
关于ubuntu - 为什么我的 nohup.out 是空的?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8537932/