目录

Ubuntu-创建systemd服务

Ubuntu 创建systemd服务

Ubuntu 创建systemd服务

1. 创建服务文件

/etc/systemd/system/ 目录下新建一个 .service 文件,例如:

sudo vim /etc/systemd/system/my-service.service

2. 编写服务配置

[Unit]
Description=My Custom Service    # 服务描述
After=network.target            # 指定依赖关系(在 network 就绪后启动)

[Service]
Type=simple                     # 服务类型(simple/forking/oneshot)
User=myuser                     # 运行服务的用户(可选)
WorkingDirectory=/path/to/dir   # 工作目录
ExecStart=/usr/bin/python3 /path/to/script.py  # 启动命令
Restart=on-failure              # 失败时自动重启
RestartSec=5                    # 重启间隔(秒)
Environment="KEY=value"         # 设置环境变量(可选)

[Install]
WantedBy=multi-user.target      # 指定服务安装的目标
参数说明:
  • Type :
    • simple :默认值,直接执行命令(主进程不退出的服务)
    • forking :命令会 fork 子进程,父进程退出
    • oneshot :一次性任务(如初始化脚本)
  • Restart :
    • no :不重启
    • always :总是重启
    • on-failure :非正常退出时重启

3. 启用并启动服务

# 重新加载 systemd 配置
sudo systemctl daemon-reload
# 启用服务(开机自启)
sudo systemctl enable my-service
# 启动服务
sudo systemctl start my-service

4. 常用操作命令

# 查看服务状态
sudo systemctl status my-service
# 停止服务
sudo systemctl stop my-service
# 重启服务
sudo systemctl restart my-service
# 查看日志
sudo journalctl -u my-service -f