systemctl 使用实例
约 438 字大约 1 分钟
Linuxsystemdsystemctl服务
2026-03-20
很多后台程序在手动执行时能跑,一重启机器就没了。最常见的解决办法,就是把它交给 systemd 管理。
1. 一个最小服务文件
例如把 frpc 注册成系统服务,可以在下面目录创建服务文件:
/etc/systemd/system/frpc.service示例内容:
[Unit]
Description=frpc
After=network.target
[Service]
Type=simple
Restart=always
ExecStart=/usr/local/bin/frpc -c /etc/frpc/frpc.ini
[Install]
WantedBy=multi-user.target2. 常见操作
创建或修改服务文件后,通常按下面顺序处理:
sudo systemctl daemon-reload
sudo systemctl start frpc
sudo systemctl enable frpc
sudo systemctl status frpc常用命令说明:
daemon-reload:重新加载 unit 文件。start:立即启动服务。stop:停止服务。restart:重启服务。enable:设置开机自启。disable:取消开机自启。status:查看状态。journalctl -u <service>:查看服务日志。
3. 示例适合解决什么问题
这种写法特别适合下面这类后台任务:
- 开机后需要自动运行。
- 进程意外退出后需要自动拉起。
- 希望通过统一命令查看状态和日志。
4. 排查顺序
如果服务起不来,常见排查顺序如下:
systemctl status service-namejournalctl -u service-name -n 100- 检查
ExecStart路径是否正确。 - 检查配置文件、工作目录和运行用户权限。