参考:http://www.caotama.com/6322.html
本人尝试的解决方案【你运行python -h查看帮助会发现-u参数就是-----u:强制取消对stdout和stderr流的缓冲;】:
python -u z_test.py
加上-u参数运行,Supervisor的输出文件就可以看到打印信息了
[program:okex_spot_quant]
2 directory=/root/pythonCoinQuantTrade ; 非常重要,选择在那个目录下执行命令
3 ; 命令建议使用绝对路径
4 command=/usr/local/Anaconda3/bin/python -u z_test.py ; command这里的gunicorn一定是你程序运行的python环境【如果虚拟环境就必须选择虚拟环境下面的路径】
5 autostart = true ; 在 supervisord 启动的时候也自动启动
6 autorestart = true ; 程序异常退出后自动重启
7 startsecs = 3 ; 启动 3 秒后没有异常退出,就当作已经正常启动了
8 startretries = 3 ; 启动失败自动重试次数,默认是 3
9 redirect_stderr = true ; 把 stderr 重定向到 stdout,默认 false
10 user=root
11 loglevel=info
12 ; 这一配置项的作用是:如果supervisord管理的进程px又产生了若干子进程,使用supervisorctl停止px进程,停止信号会传播给px产生的所有子进程,确保子进程也一起停止。这一配置项对希望停止所有进> 程的需求是非常有用的。
13 stopasgroup=true
14 [supervisord] ; 必须配置
15 [supervisorctl] ; 必须配置