【守护进程】以守护进程运行Python脚本【原创】

本文介绍了在Linux环境下,为了实现Python脚本`release.py`的后台常驻运行,选择使用Systemctl作为守护进程的方法。相较于Crontab,Systemctl提供更高的实时性和故障恢复能力。通过编写`auto_release.service`配置文件并管理服务状态,确保脚本挂掉时能够自动重启。当脚本更新时,需手动重启服务以使变更生效。
摘要由CSDN通过智能技术生成

概要

目前在做个发布项目,需要一直运行单个Python脚本,以便于对需要发布的任务进行发布逻辑操作,并且是在Linux下运行的

目前能想到的方法有两个:

  • Crontab定时
  • Systemctl守护进程

最后决定使用Systemctl守护进程来做,一方面是因为Crontab最小粒度只支持到一分钟,也就是1分钟执行1次,而这个脚本需要的实时性较高,7、8秒一次,另一方面,使用守护进程来做的话,一旦挂了能实现重启进程


方法

release.py后台常驻运行
以守护进程的方式运行,一旦挂掉自动重启

需要常驻的脚本:release.py

# -*- coding:utf-8 -*-
​
import time
​
​
# 常驻进程,每8秒执行一个任务的发布
while 1:
    print(time.gmtime())
​
    # Todo 执行操作
    run()
​
    # 延时8秒
    time.sleep(8)
常驻进程,每8秒执行一次

编写systemd:
vim /etc/systemd/system/auto_release.service

[Unit]
Description=The python script used for release
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=simple
ExecStart=/
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值