Linux 服务管理两种方式service和systemctl,systemctl兼容了service;systemd(systemd是Linux系统最新的初始化系统(init),作用是提高系统的启动速度,尽可能启动较少的进程,尽可能更多进程并发启动)对应的进程管理命令是systemctl。systemctl命令管理systemd的资源进程(放在目录/usr/lib/systemd/system(Centos)或/etc/systemd/system(Ubuntu))
systemd主要有以下四类文件.mount,.service,.target,.wants
常用命令
systemctl –-version #查看系统版本号
systemctl [command] [unit] #其中unit为服务进程名,
#command有:
start:立刻启动后面接的 unit。
stop:立刻关闭后面接的 unit。
restart:立刻关闭后启动后面接的 unit,亦即执行 stop 再 start 的意思。
reload:不关闭 unit 的情况下,重新载入配置文件,让设置生效。
enable:设置下次开机时,后面接的 unit 会被启动。
disable:设置下次开机时,后面接的 unit 不会被启动。
status:目前后面接的这个 unit 的状态,会列出有没有正在执行、开机时是否启动等信息。
is-active:目前有没有正在运行中。
is-enable:开机时有没有默认要启用这个 unit。
kill :不要被 kill 这个名字吓着了,它其实是向运行 unit 的进程发送信号。
show:列出 unit 的配置。
mask:注销 unit,注销后你就无法启动这个 unit 了。
unmask:取消对 unit 的注销。
//查看系统上的unit
systemctl 提供了子命令可以查看系统上的 unit,命令格式为:
systemctl [command][--type=TYPE][--all]command 有:
list-units:列出当前已经启动的 unit,如果添加 -all 选项会同时列出没有启动的 unit
list-unit-files:根据 /lib/systemd/system/ 目录内的文件列出所有的 unit
--type=TYPE:可以过滤某个类型的 unit
不带任何参数执行 systemctl 命令会列出所有已启动的 unit
//查看已经启动的unit
systemctl list-units (或者直接 sudo systemctl)
//查看系统上一共装了多个unit
systemctl list-unit-files