| 用途 | 把自研程序托管为 systemd 服务 |
|---|---|
| 语法 | /etc/systemd/system/<name>.service |
| 所属 | systemd |
完整模板
完整模板
[Unit]
Description=My App
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=appuser
Group=appgroup
WorkingDirectory=/opt/myapp
Environment=JAVA_HOME=/usr/lib/jvm/java-17
EnvironmentFile=-/etc/myapp/env
ExecStart=/opt/myapp/bin/start --config /etc/myapp/app.conf
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
RestartSec=5
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target启用
启用
systemctl daemon-reload
systemctl enable --now myapp
systemctl status myapp --no-pagerType=simple 适合前台进程;fork 型老程序用 Type=forking;一次性脚本用 Type=oneshot。