Nohup 在终止之前不会打印到标准输出
Nohup doesn't print to stdout until termination
我有一个 Python 脚本,如下所示:
#!/usr/bin/env python
print("Start")
sql = get_sql_from_file(...)
# The following function takes a long time to run
execute_oracle_driver(sql)
print("Finished")
我执行它:
(my-env) $ time nohup python script.py &
然后我检查是否有任何初始输出,但没有:
(my-env) $ cat nohup.out
(my-env) $
我至少希望在不超过几秒钟后看到“开始”。即使等了几分钟,然后杀死它,我也没有得到任何输出。如果可能,我该如何解决?
默认情况下会缓冲输出,因此您需要确保输出已刷新;否则,在程序结束之前不会在 nohup.out
中看到任何输出。一种方法如下:
print("Start", flush=True)
我有一个 Python 脚本,如下所示:
#!/usr/bin/env python
print("Start")
sql = get_sql_from_file(...)
# The following function takes a long time to run
execute_oracle_driver(sql)
print("Finished")
我执行它:
(my-env) $ time nohup python script.py &
然后我检查是否有任何初始输出,但没有:
(my-env) $ cat nohup.out
(my-env) $
我至少希望在不超过几秒钟后看到“开始”。即使等了几分钟,然后杀死它,我也没有得到任何输出。如果可能,我该如何解决?
默认情况下会缓冲输出,因此您需要确保输出已刷新;否则,在程序结束之前不会在 nohup.out
中看到任何输出。一种方法如下:
print("Start", flush=True)