怎么使用systemd管理Python脚本

发布时间: 2024-11-01 热度: 1604

以下是使用systemd管理Python脚本的步骤:

1、创建服务文件

sudo nano /etc/systemd/system/stock_monitor.service

2、stock_monitor.service添加以下内容,注意:替换脚本路径和脚本名称

[Unit]
Description=Stock Monitor Service
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/home/
ExecStart=/usr/bin/python3 /home/stock_monitor.py
Restart=on-failure
RestartSec=30

[Install]
WantedBy=multi-user.target

3、启动并设置开机自启

sudo systemctl daemon-reload  # 重新加载 systemd 配置
sudo systemctl enable stock_monitor.service  # 开机自启服务
sudo systemctl start stock_monitor.service   # 启动服务

4、常用管理命令

# 查看服务状态
sudo systemctl status stock_monitor.service

# 停止服务
sudo systemctl stop stock_monitor.service

# 重启服务
sudo systemctl restart stock_monitor.service

# 调试问题 如果服务无法正常启动,可以查看日志
sudo journalctl -u stock_monitor.service

5、要卸载和关闭 systemd 服务,可以按以下步骤操作:

# 停止服务
sudo systemctl stop stock_monitor.service

# 禁用服务
sudo systemctl disable stock_monitor.service

# 删除服务文件 (一般存放在 /etc/systemd/system/ 或 /usr/lib/systemd/system/ 中)
sudo rm /etc/systemd/system/stock_monitor.service
或者
sudo rm /usr/lib/systemd/system/stock_monitor.service

# 在删除服务文件后,需要让 systemd 重新加载配置
sudo systemctl daemon-reload

# 检查服务是否完全移除,如果没有输出,则服务已完全移除。
systemctl list-units | grep stock_monitor

# 如果服务生成了临时文件、日志等,可以根据实际情况清理这些文件,确保没有遗留问题。例如,清理日志:
sudo journalctl --vacuum-time=1d

 

请在下方留下您的评论.加入TG吹水群