Documentation
这个项目在提供管理员能够½行½一步的文件查询的功能!提供的文件可以是如下的资料:
.
Documentation=http://www....
.
Documentation=man:sshd(8)
.
Documentation=file:/etc/ssh/sshd_config
After
说明此
unit
是在哪个
daemon
启动之后才启动的意思!基本上½是说明服务启动的顺序而已,
并没有强制要求里头的服务一定要启动后此
unit
才能启动。
sshd.service
的内容为例,该
提到
After
后面有
network.target
以及
sshd
-
keygen.service
,但是若这两个
unit
没有启动而
强制启动
sshd.service
的话,
那么
sshd.service
应该还是能够启动的!这与
Requires
的设定是
有差异的喔!
Before
After
的意义相反,是在什么服务启动前最好启动这个服务的意思。不过这½是规范服务启动
的顺序,并非强制要求的意思。
Requires
明确的定义此
unit
需要在哪个
daemon
启动后才能够启动!就是设定相依服务啦!如果在此项
设定的前导服务没有启动,那么此
unit
就不会被启动!
Wants
Requires
刚好相反,规范的是这个
unit
之后最好还要启动什么服务比½好的意思!不过,并
没有明确的规范就是了!主要的目的是希望½立让使用者比½好操作的环境。
因此,这个
Wants
后面½的服务如果没有启动,其实不会影响到这个
unit
本身!
Conflicts
代表冲突的服务!亦即这个项目后面½的服务如果有启动,那么我们这个
unit
本身就不能启动!
我们
unit
有启动,则此项目后的服务就不能启动!
反正就是冲突性的检查啦!
½下来了½一下在
[Service]
当中有哪些项目可以使用!
[Service]
部份
设定参数
参数意义说明
Type
说明这个
daemon
启动的方式,会影响到
ExecStart
喔!一般来说,有底下几种类型
.
simple
:默认值,这个
daemon
主要由
ExecStart
½的指令串来启动,启动后常驻于内存
中。
.
forking
:由
ExecStart
启动的程序透过
spawns
延伸出其他子程序来作为此
daemon
主要服务。原生的父程序在启动½束后就会终止运作。
传统的
unit
服务大多属于这种
项目,例如
httpd
这个
WWW
服务,当
httpd
的程序因为运作过久因此即½终½了,
systemd
会再重新生出另一个子程序持续运作后,
再½父程序删除。据说这样的效
能比½好!!
.
oneshot
:与
simple
类似,不过这个程序在工作完毕后就½束了,不会常驻在内存中。
.
dbus
:与
simple
类似,但这个
daemon
必须要在取得一个
D
-
Bus
的名称后,才会继续
运作!因此设定这个项目时,通常也要设定
BusName=
才行!
.
idle
:与
simple
类似,意思是,要执行这个
daemon
必须要所有的工作都顺利执行完毕
后才会执行。这类
daemon
通常是开机到最后才执行即可的服务!
比½重要的项目大概是
simple, forking
oneshot
了!毕竟很多服务需要子程序
(forking)
,而