自启动服务可以避免每次开机需要配置一些小程序、工具,类似于Windows软件的开机启动,可有效提高工作、学习效率。
/etc/systemd/system
此位置同/usr/lib/systemd/system
,二者的关系是当执行sudo systemd enable xxx
时,/etc/systemd/system
中新增一个软链接文件,其源文件为/usr/lib/systemd/system/xxx
。开机时,系统只会检查/etc/systemd/system
下的service
。
自启动服务文件
- 以.service结尾
- 由
Unit
Service
Install
等几个模块组成
[Unit]
Description=XXX
Documentation=XXX
[Service]
OOMScoreAdjust=-1000
ExecStart=/etc/XXX-linux-amd64 -f /etc/XXX.yaml
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable clash
systemctl start clash
systemctl status clash
journalctl -xe
由于个人使用常常不求甚解,所以只关注服务执行的命令,即ExecStart
后对应的命令。在命令执行完后需要检查命令执行过程Debug,可在命令行输入systemctl status XXX.service
查看,若想检查XXX.service
文件内容是否正确,可输入systemctl cat XXX.service
查看。
systemctl程序的相关命令
常用的由start stop kill
,分别对应启动、停止、终止,还有上文提到的status
,用于查看服务运行中输出的log
,当修改XXX.service
后希望重新激活服务,可采用systemctl daemon-reload
和 systemctl restart XXX.service
。
更详细的内容可以查阅阮老师的博客
发表回复