linux中systemctl详细理解及常用命令( 二 )

 
关于 unit 的启动状态 , 除了 enable 和 disable 之外还有:
static:这个 unit 不可以自己启动 , 不过可能会被其它的 enabled 的服务来唤醒 。
mask:这个 unit 无论如何都无法被启动!因为已经被强制注销 。可通过 systemctl unmask 改回原来的状态 。
 
关于 unit 的运行状态 Active , 除了 active 和 inactive 之外还有:
active (exited):仅执行一次就正常结束的服务 , 目前并没有任何程序在系统中执行 。举例来说 , 开机或者是挂载时才会进行一次的 quotaon 功能 , 就是这种模式! Quotaon 不需要一直执行 , 只在执行一次之后 , 就交给文件系统去自行处理 。通常用 bash shell 写的小型服务 , 大多是属于这种类型 。
active (waiting):正在执行当中 , 不过还再等待其他的事件才能继续处理 。举例来说 , 打印的相关服务就是这种状态 。
 
enable 和 disable 操作
比如我们为 etcd 服务创建了配置文件 
/lib/systemd/system/etcd.service , 然后执行 enable 命令:
systemctl enable etcd.service

linux中systemctl详细理解及常用命令

文章插图
 
所谓的 enable 就是在 multi-user.target.wants 下面创建了一个链接文件:
linux中systemctl详细理解及常用命令

文章插图
 
至于为什么会链接到 multi-user.target.wants 目录下 , 则是由 etcd.server 文件中的配置信息决定的 。




推荐阅读