【python supervisor】在服务器端,如何一直运行你的python代码

方法1:

nohup 命令

nohup python *.py &

方法2:

使用supervisor保持python进程运行

Supervisord是一个守护进程的工具,当进程意外终止或服务器掉电起来后,希望进程能够自动运行,supervisord可以很好的为我们做这件事情。同时supervisord也自带监控界面,可以通过浏览器灵活的查看、操作。

安装:

ubantu:sudo apt-get install supervisor 
centos: yum install supervisor

2.配置supervisord.conf文件

找到supervisord.conf配置文件,一般centos 在/etc/ 目录下,ubantu 在/etc/supervisor/ 目录下,用root权限打开该文件:

sudo vim /etc/supervisord.conf
sudo vim /etc/supervisor/supervisord.conf

在文件末尾添加如下几行:

[program:myProgram]
command=python /home/myname/test.py
autostart=true
autorestart=ture
stdout_logfile=/home/myname/test.log

注释:第一行的myProgram自己取个名字,表示你的项目就行
第二行的python /home/myname/test.py表示你运行程序的命令
第三行表示自动启动,如果值为false则表示不自动启动
第四行表示自动重启,如果值为false则表示不自动重启
最后一样表示程序打印出的信息都记录在该test.log文件内,是log文件

例子(我自己的项目配置)

[program:web_vip]
command=python /root/web_vip/hello.py
autostart=true
autorestart=true
stdout_logfile=/root/code/myjob.txt

3.启动supervisor和程序

命令行输入:

sudo supervisord 
supervisord -c /etc/supervisord.conf

4、 常用命令

sudo service supervisor stop #停止supervisor服务
 
sudo service supervisor start #启动supervisor服务
 
supervisorctl shutdown #关闭所有任务
 
supervisorctl stop|start program_name #启动或停止服务
 
supervisorctl status #查看所有任务状态

参考文档:(非常详细)
https://www.cnblogs.com/ajianbeyourself/p/5534737.html

一个配置例子

[program:zk_async_anti_spam]
command=/home/admin/anaconda3/envs/spam_nlp/bin/python /home/admin/zhongkui_spam/services/text_services/zk_async_anti_spam/anti_contact_zk.py
directory=/home/admin/zhongkui_spam/services/text_services/zk_async_anti_spam
autostart=true
startretries=3
autorestart=true
stopwaitsecs=10
user=admin
environment=HOME=/home/admin
stdout_logfile=/home/admin/zhongkui_spam/services/text_services/zk_async_anti_spam/log/stdout_logfile_info.log
stderr_logfile=/home/admin/zhongkui_spam/services/text_services/zk_async_anti_spam/log/stderr_logfile_info.log
stderr_events_enabled=true
发布了650 篇原创文章 · 获赞 778 · 访问量 184万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览