【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
  • 7
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
要让 Python 代码服务器上永久运行,可以使用一些方法来实现守护进程或后台运行。下面是几种常见的方法: 1. 使用 nohup 命令:可以使用 `nohup` 命令来运行 Python 脚本,并将输出重定向到一个日志文件,这样即使关闭终端或断开 SSH 连接,脚本仍然会继续在后台运行。 ```bash nohup python your_script.py > output.log & ``` 其中,`your_script.py` 是你的 Python 脚本,`output.log` 是输出日志的文件名。 2. 使用 systemd 或 init.d:对于 Linux 系统,你可以将 Python 脚本配置为一个系统服务,使用 systemd(在较新的发行版上)或 init.d(在旧的发行版上)来管理和启动脚本。这样脚本会在系统启动时自动运行,并能够随时监控和管理。 配置 systemd 服务示例: - 创建一个名为 `your_script.service` 的服务文件,内容如下: ``` [Unit] Description=Your Python Script After=network.target [Service] ExecStart=/usr/bin/python /path/to/your_script.py WorkingDirectory=/path/to/script_directory [Install] WantedBy=multi-user.target ``` - 将服务文件复制到 `/etc/systemd/system/` 目录下,并执行以下命令启动服务: ```bash sudo systemctl start your_script ``` 你还可以使用 `systemctl` 命令来停止、重启和查看服务状态。 3. 使用守护进程管理工具:还可以使用一些专门的守护进程管理工具,如 Supervisor 或 PM2。这些工具可以帮助你管理和监控 Python 脚本的运行,并提供了更多的配置选项和功能。 - 使用 Supervisor:安装 Supervisor,并创建一个配置文件,指定要运行Python 脚本和日志文件路径。然后启动 Supervisor,它将会监控并管理脚本的运行。 - 使用 PM2:安装 PM2,并使用 `pm2 start` 命令来启动 Python 脚本。PM2 提供了许多额外的功能,如日志管理、自动重启等。 以上方法中的每一种都有其适用的场景和配置选项。你可以根据自己的需求选择合适的方法来让 Python 代码服务器上永久运行
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东华果汁哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值