Files
README/e1_linux添加systemd服务.md

63 lines
1.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## 创建服务文件
以pyhon项目为例
编辑
```
sudo nano /etc/systemd/system/pykins.service
```
文件内容
```
[Unit]
Description=python CICD service
After=network.target
[Service]
User=root # 替换为实际用户名(如 ubuntu、root 等)
WorkingDirectory=/pathToProject # 项目根目录(包含 .venv 和 main.py)
ExecStart=/pathToProject/.venv/bin/python main.py
Restart=always
RestartSec=10
# 不使用 journal管理日志,直接重定向到文件
# StandardOutput=append:/pathToProject/main.log # 日志文件
# StandardError=append:/pathToProject/main.log # 错误日志与正常日志写在同一个文件,便于还原上下文
[Install]
WantedBy=multi-user.target
```
## 重载systemd服务并启用服务
```
# 重载配置
sudo systemctl daemon-reload
# 开机自启(可选)
sudo systemctl enable pykins.service
# 启动服务
sudo systemctl start pykins.service
```
## 相关命令
```
# 启动
sudo systemctl start pykins
# 停止
sudo systemctl stop pykins
# 重启
sudo systemctl restart pykins
# 查看状态
sudo systemctl status pykins
```
查看日志
```
# 实时跟踪日志(类似 tail -f)
sudo journalctl -u pykins.service -f
# 查看该服务的所有日志
sudo journalctl -u pykins.service
# 查看今天的日志
sudo journalctl -u pykins.service --since today
# 按 SyslogIdentifier 过滤(需配置该项)
sudo journalctl -t pykins
```