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版本中不适用,别被误导了。