一个简单的服务长这个样子,这里边东西相当多,这儿只写关键的部分
[Unit]
Description=Clash daemon, A rule-based proxy in Go.
[Service]
User=root
Group=root
ExecStart=/usr/local/bin/clash -f /etc/clash/config.yaml
OOMScoreAdjust=-1000
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
一个.Service
配置文件分为三部分:
- Unit:定义该服务作为Unit角色时相关的属性
- Service:定义本服务相关的属性
- Install:定义本服务在设置服务开机自启动时相关的属性。换句话说,只有在创建/移除服务配置文件的软链接时,Install段才会派上用场。这一配置段不是必须的,当未配置
[Install]
时,设置开机自启动或禁止开机自启动的操作将无任何效果
Unit指令 | 含义 |
---|---|
Description | Unit的描述信息 |
Documentation | 本Unit的man文档路径 |
After | 本服务在哪些服务启动之后启动,仅定义启动顺序,不定义服务依赖关系,即使要求先启动的服务启动失败,本服务也依然会启动 |
Install指令 | 含义 |
---|---|
WantedBy | 本服务设置开机自启动时,在被依赖目标的.wants 目录下创建本服务的软链接。例如WantedBy = multi-user.target 时,将在/etc/systemd/multi-user.target.wants目录下创建本服务的软链接。 |
Service指令 | 含义 |
---|---|
User | |
Group | |
Type |
|
ExecStart |
指定启动服务时执行的命令行。 后方跟的参数查不到,勾八,中文互联网太烂了。我这个clash服务配置是抄的,他也不写为啥是-f,后边是配置文件能看得出来 |
ExecStop | 指定停止服务时执行的命令行 |
Restart |
指定systemd是否要自动重启服务进程以及什么情况下重启 |
RestartSec |
重启倒计时 |