有更多的动作只需要在开机的时候执行一次
(oneshot)
,例如文件系统的检查与挂载啊等等的。
EnvironmentFile
可以指定启动½本的环境配置文件!例如
sshd.service
的配置文件写入到
/etc/sysconfig/sshd
中!你也可以使用
Environment=
后面½多个不同的
Shell
变量来给予设定!
ExecStart
就是实际执行此
daemon
的指令或½本程序。你也可以使用
ExecStartPre (
之前
)
以及
ExecStartPost (
之后
)
两个设定项目来在实际启动服务前,½行额外的指令行为。
但是你得要特
别注意的是,指令串½½受『指令
参数
参数
...
』的格式,不能½受
<, >, >>, |, &
等特殊字符,
很多的
bash
语法也不支持喔!
所以,要使用这些特殊的字符时,最好直½写入到指令½本里
面去!不过,上述的语法也不是完全不能用,亦即,若要支持比½完整的
bash
语法,那你得
要使用
Type=oneshot
才行喔!
其他的
Type
才不能支持这些字符。
ExecStop
systemctl stop
的执行有关,关闭此服务时所½行的指令。
ExecReload
systemctl reload
有关的指令行为
Restart
当设定
Restart=1
时,则当此
daemon
服务终止后,会再次的启动此服务。举例来说,如果你
tty2
使用文字½面登入,操作完毕后注销,基本上,这个时候
tty2
就已经½束服务了。
是你会看到屏幕又立刻产生一个新的
tty2
的登入画面等待你的登入!那就是
Restart
的功能!
除非使用
systemctl
强制½此服务关闭,否则这个服务会源源不绝的一直重复产生!
RemainAfterExit
当设定为
RemainAfterExit=1
时,则当这个
daemon
所属的所有程序都终止之后,此服务会再
尝试启动。这对于
Type=oneshot
的服务很有帮助!
TimeoutSec
若这个服务在启动或者是关闭时,因为某些缘故导致无法顺利『正常启动或正常½束』的情况
下,则我们要等多久才½入『强制½束』的状态!
KillMode
可以是
process, control
-
group, none
的其中一种,如果是
process
daemon
终止时,只会终
止主要的程序
(ExecStart
½的后面那串指令
)
,如果是
control
-
group
时,
则由此
daemon
所产
生的其他
control
-
group
的程序,也都会被关闭。如果是
none
的话,则没有程序会被关闭喔!
RestartSec
Restart
有点相关性,如果这个服务被关闭,然后需要重新启动时,大概要
sleep
多少时间
再重新启动的意思。预设是
100ms (
毫秒
)
最后,再来看看那么
Install
内还有哪些项目可用?
[Install]
部份
设定参数
参数意义说明
WantedBy
这个设定后面½的大部分是
*.target unit
!意思是,这个
unit
本身是附挂在哪一个
target unit
底下
的!一般来说,大多的服务性质的
unit
都是附挂在
multi
-
user.target
底下!
Also
当目前这个
unit
本身被
enable
时,
Also
后面½的
unit
也请
enable
的意思!也就是具有相依性的
服务可以写在这里呢!
Alias
½行一个连½的别名的意思!当
systemctl enable
相关的服务时,则此服务会½行连½档的½立!以