Main PID: 1350 (code=exited, status=0/SU
CCESS)
Aug 10 19:17:09 study.centos.vbird systemd[1]: Started Job spooling tools.
Aug 11 01:04:55 study.centos.vbird systemd[1]: Stopping Job spooling tools...
Aug 11 01:04:55 study.centos.vbird systemd[1]: Stopped Job spooling tools.
#
目前
这个
unit
下次
开
机
还
是
会启动
,但是
现
在是
没
在
运
作的
状态
中!同
时
,
#
最后
两
行
为
新增加的登
录讯
息,告
诉
我
们
目前的系
统状态
喔!
上面的范例中,我们已经关掉了
atd
啰!这样作才是对的!不应该使用
kill
的方式来关掉一个正常
的服务喔!否则
systemctl
会无法继续监控该服务的!
那就比½麻烦。而使用
systemtctl status atd
的
输出½果中,第
2, 3
两行很重要~因为那个是告知我们该
unit
下次开机会不会预设启动,以及目前
启动的状态!
相当重要!最底下是这个
unit
的登录档~如果你的这个
unit
曾经出错过,观察这个
地方也是相当重要的!
那么现在问个问题,你的
atd
现在是关闭的,未来重新启动后,这个服务会不会再次的启动呢?答
案是?当然会!
因为上面出现的第二行中,它是
enabled
的啊!这样理½所谓的『现在的状态』跟
『开机时预设的状态』两者的差异了吗?
好!再回到
systemctl status atd.service
的第三行,不是有个
Active
的
daemon
现在状态吗?除了
running
跟
dead
之外,
有没有其他的状态呢?有的~基本上有几个常见的状态:
.
active (running)
:正有一只或多只程序正在系统中执行的意思,举例来说,正在执行中的
vsftpd
就是这种
模式。
.
active (exited)
:½执行一次就正常½束的服务,目前并没有任何程序在系统中执行。
举例来说,开机或者
是挂载时才会½行一次的
quotaon
功能,就是这种模式!
quotaon
不须一直执行~只须执行一次之后,就
½给文件系统去自行处理啰!通常用
bash shell
写的小型服务,大多是属于这种类型
(
无须常驻内存
)
。
.
active (waiting)
:正在执行当中,不过还再等待其他的事件才能继续处理。举例来说,打印的队列相关服务
就是这种状态!
虽然正在启动中,不过,也需要真的有队列½来
(
打印作业
)
这样他才会继续唤醒打印机
服务来½行下一步打印的功能。
.
inactive
:这个服务目前没有运作的意思。
既然
daemon
目前的状态就有这么多种了,那么
daemon
的预设状态有没有可能除了
enable/disable
之外,还有其他的情况呢?当然有!
.
enabled
:这个
daemon
½在开机时被执行
.
disabled
:这个
daemon
在开机时不会被执行
.
static
:这个
daemon
不可以自己启动
(enable
不可
)
,不过可能会被其他的
enabled
的服务来唤醒
(
相依属
性的服务
)
.
mask
:这个
daemon
无论如何都无法被启动!因为已经被强制注销
(
非删除
)
。可透过
systemctl unmask
方
式改回原本状态
.
服务启动
/
关闭与观察的练习