Linux 中的服务

Laeni
2023-05-03

Linux 中的服务一般用于定义一些软件的开机自启或一些脚本的开机自执行。

目录规范

/
├── etc/systemd/system/ # 系统级别的 service 定义(一般为安装软件时系统自动生成)
├── home/<user_name>/
│   └── .config/systemd/user/ # 用户级别的 service 定义,使用`systemctl --user status xxx.service`操作服务
├── lib*/ -> usr/lib*/
└── usr/
    ├── lib/systemd/system        # 系统级别的 service 定义(一般为系统核心服务)
    └── local/lib/systemd/system/ # 系统级别的 service 定义(一般为手动创建,但是目前测试Ubuntu不生效)

根据systemd文档,service 文件确实可以定义在/usr/local/lib/systemd/system/目录中,但是 Ubuntu 中测试不生效,估计是配置不对。

另外可通过pkg-config systemd --variable=systemdsystemconfdirpkg-config systemd --variable=systemdsystemunitdir命令 service 文件所在的目录。

关于服务单元文件定义可参见systemd

相关命令

检查 service 文件定义是否正确

$ systemd-analyze verify xxx.service

查看xxx服务的相关启动日志

$ journalctl -u xxx.service

参考资料


发现错误或想为文章做出贡献? 在 GitHub 上编辑此页面!
© 2020-2025 All Right Reserved 滇ICP备17005647号-2