配置systemd自动启动文件

以启动Electron应用为例,介绍如何配置开机自启动脚本。

/etc/systemd/system中创建一个配置文件,

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

内容如下:

[Unit]
Description=My electron app
# 使用Require与After保证服务的启动顺序
Requires=mydeps.service
After=mydeps.service



[Service]
# 指定程序的执行用户,若不指定默认使用root
User=myusername
# 工作目录
WorkingDirectory=/opt/myapp
# 启动前脚本
ExecStartPre=/bin/sleep 2
# 实际的可执行文件路径
ExecStart=/opt/myapp/my_electron_app
# 除0,SIGHUP, SIGINT, SIGTERM, SIGPIPE外,若程序返回以下指定的状态码,也会被认为是成功执行(影响重试)
SuccessExitStatus=143
# 停止程序的超时时间,超过此时间程序仍为停止时,系统会使用SIGKILL强制停止程序
TimeoutStopSec=10
# 可选环境变量。此处相当于命令行: DISPLAY=:0.0 /opt/myapp/my_electron_app
Environment=DISPLAY=:0.0
# 可使用引号
Environment="dev=false"
Restart=on-failure


RestartSec=5

[Install]

WantedBy=multi-user.target

加载上面的配置文件、启用并执行:

sudo systemctl daemon-reload
sudo systemctl enable fe.service
sudo systemctl start fe.service
# 查看状态
sudo systemctl status fe.service

# 查看日志
journalctl -f -u fe
  • 参考

状态码/SuccessExitStatus

Comment