systemd服务
mnsd

编写systemd单元文件

将单元文件放至/etc/systemd/system文件夹

1
nvim /etc/systemd/system/demo.service
1
2
3
4
5
6
7
8
[Unit]
Description=service_description

[Service]
ExecStart=path_to_executable

[Install]
WantedBy=multi-user.target

将需要执行的脚本赋予可执行权限

1
chmod +x path_to_shell

普通用户的单元文件

将单元文件放至~/.config/systemd/user文件夹

1
nvim ~/.config/systemd/user/demo.service

启动服务

1
2
3
4
systemctl daemon-reload # 重新加载单元文件
systemctl start daemon.service # 启动服务
systemctl status daemon.service # 查看服务状态
systemctl enable daemon.service # 设置开机自启

普通用户服务

用户级服务使用 systemctl --user 管理:

1
2
3
4
systemctl --user daemon-reload
systemctl --user start demo.service
systemctl --user status demo.service
systemctl --user enable demo.service

如果希望用户服务在未登录时也能运行,需要开启 linger:

1
loginctl enable-linger username

查看日志

1
2
journalctl -u demo.service -e
journalctl --user -u demo.service -e

服务启动失败时,优先看 systemctl statusjournalctl 输出。大多数问题都是路径写错、脚本没有执行权限、环境变量缺失,或者服务依赖的命令无法在非交互 shell 中找到。

 评论
评论插件加载失败
正在加载评论插件