17.2.1
透过
systemctl
管理单一服务
(service unit)
的启动
/
开机启动与观察状态
在开始这个小½之前,鸟哥要先来跟大家报告一下,那就是:
一般来说,服务的启动有两个½段,一
个是『开机的时候设定要不要启动这个服务』,
以及『你现在要不要启动这个服务』
,这两者之间
有很大的差异喔!举个例子来说,假如我们现在要『立刻取消
atd
这个服务』时,正规的方法
(
不要
用
kill)
要怎么处理?
[root@study ~]#
systemctl [command] [unit]
command
主要有:
start
:立刻
启动
后面½的
unit
stop
:立刻
关闭
后面½的
unit
restart
:立刻
关闭
后
启动
后面½的
unit
,亦即
执
行
stop
再
start
的意思
reload
:不
关闭
后面½的
unit
的情
况
下,重
载
配置文件,
让设
定生效
enable
:
设
定下次
开
机
时
,后面½的
unit
会
被
启动
disable
:
设
定下次
开
机
时
,后面½的
unit
不
会
被
启动
status
:目前后面½的
这个
unit
的
状态
,
会
列出有
没
有正在
执
行、
开
机
预设执
行否、登
录
等信息等!
is
-
active
:目前有
没
有正在
运
作中
is
-
enable
:
开
机
时
有
没
有
预设
要
启
用
这个
unit
范例一:看看目前
atd
这个
服
务
的
状态为
何?
[root@study ~]#
systemctl status atd.service
atd.service
-
Job
spooling tools
Loaded: loaded (/usr/lib/systemd/system/atd.service; enabled)
Active: active (running)
since Mon 2015
-
08
-
10 19:17:09 CST; 5h 42min ago
Main PID: 1350 (atd)
CGroup: /system.slice/atd.service
└─
1350 /usr/sbin/atd
-
f
Aug 1
0 19:17:09 study.centos.vbird systemd[1]: Started Job spooling tools.
#
重
点
在第二、三行喔~
# Loaded
:
这
行在
说
明,
开
机的
时
候
这个
unit
会
不
会启动
,
enabled
为开
机
启动
,
disabled
开
机不
会启动
# Active
:
现
在
这个
unit
的
状态
是正在
执
行
(running)
或
没
有
执
行
(dead)
#
后面几行
则
是
说
明
这个
unit
程序的
PID
状态
以及最后一行
显
示
这个
服
务
的登
录
文件信息!
#
登
录
文件信息格式
为
:『
时间
』
『
讯
息
发
送主机』
『哪一
个
服
务
的
讯
息』
『
实际讯
息
内
容』
#
所以上面的
显
示
讯
息是:
这个
atd
预设开
机就
启动
,而且
现
在正在
运
作的意思!
范例二:正常
关闭这个
atd
服
务
[root@study ~]#
systemctl stop atd.service
[root@study ~]#
systemctl status atd.service
atd.service
-
Job spooling tools
Loaded: loaded (/usr/lib/systemd/system/atd.service;
enabled
)
Active: inactive (dead)
since Tue 2015
-
08
-
11 01:04:55 CST; 4s ago
Process: 1350 ExecStart=/usr/sbin/atd
-
f $OPTS (code=exited, status=0/SUCCESS)