linux 执行 nohup python脚本,print无输出

nohup python  -u test.py > test.log 2>&1&

# -*-coding:utf8;-*-
# qpy:console

import sys import time
from apscheduler.schedulers.blocking import BlockingScheduler def test(): try: print(time.asctime(),flush=True) except Exception as e: print(e) sched = BlockingScheduler() sched.add_job(test, 'interval', seconds=20, max_instances=5) sched.start()

python 带有缓冲,print的内容会先存到内存,等到合适的时机会刷入磁盘,在print函数中增加参数 flush=True

在其它地方看到说  python 有个-u参数,使得python不启用缓冲。nohup python -u test.py > test.out 2>&1 & ,

这个在python3版本中不适用,别被误导了。

原文地址:https://www.cnblogs.com/Monkey18/p/15634343.html