centos7 管理开机启动:systemd

一、CentOS7 systemd 介绍

在 CentOS7 中,使用 systemd 来管理其他服务是否开机启动,systemctl 是 systemd 服务的命令行工具

[root@mysql ~]# systemctl start httpd.service         // 启动服务
[root@mysql ~]# systemctl stop httpd.service          // 关闭服务
[root@mysql ~]# systemctl restart httpd.service       // 重启服务
[root@mysql ~]# systemctl status httpd.service        // 查看服务状态
[root@mysql ~]# systemctl is-enabled httpd.service    // 查看指定的服务是否开机启动
[root@mysql ~]# systemctl enable httpd.service        // 设置指定的服务开机启动
[root@mysql ~]# systemctl disable httpd.service       // 设置指定的服务开机不启动

二、CentOS7 unit 介绍

(1) CentOS7 中新增了 unit(单元)的概念,它是系统所有资源的统称,不同的资源称为不同的 unit(单元)
(2) 常见的 unit 有:Service Unit ( 系统服务 ) 、Device Unit ( 硬件设备 ) 、Path Unit ( 文件或路径 ) 等等
(3) Systemd 用来管理这些单元,它保存了系统服务、硬件设备、挂载点等单元的配置文件,并能够处理不同单元之间的依赖关系
(4) 单元的状态:active 、inactive 、activing 、deactiving ,分别表示正在运行 、已经停止运行 、正在启动 、正在停止

[root@mysql ~]#  systemctl list-units                        // 列出正在运行的unit
[root@mysql ~]#  systemctl list-units --all                  // 列出所有状态的unit
[root@mysql ~]#  systemctl list-units --all --state=active   // 列出指定状态的unit
[root@mysql ~]#  systemctl list-units --type=service         // 列出指定类型的unit

 查看开启开机启动的服务

systemctl list-unit-files|grep enabled

三、CentOS7 target 介绍

(1) target 其实就是一组 unit 组合,CentOS7 的 target 相当于 CentOS6 的 runlevel ( 运行级别 ) ,启动一个 target,就相当于启动多个 unit
(2) 一个 service 属于一种类型的 unit ,多个 unit 可以组成一个 target ,一个 target 包含了多个 service

[root@mysql ~]# ll /usr/lib/systemd/system
lrwxrwxrwx. 1 root root   15 Mar 27 08:27 runlevel0.target -> poweroff.target
lrwxrwxrwx. 1 root root   13 Mar 27 08:27 runlevel1.target -> rescue.target
drwxr-xr-x. 2 root root   50 Mar 27 08:27 runlevel1.target.wants
lrwxrwxrwx. 1 root root   17 Mar 27 08:27 runlevel2.target -> multi-user.target
drwxr-xr-x. 2 root root   50 Mar 27 08:27 runlevel2.target.wants
lrwxrwxrwx. 1 root root   17 Mar 27 08:27 runlevel3.target -> multi-user.target
drwxr-xr-x. 2 root root   50 Mar 27 08:27 runlevel3.target.wants
lrwxrwxrwx. 1 root root   17 Mar 27 08:27 runlevel4.target -> multi-user.target
drwxr-xr-x. 2 root root   50 Mar 27 08:27 runlevel4.target.wants
lrwxrwxrwx. 1 root root   16 Mar 27 08:27 runlevel5.target -> graphical.target
drwxr-xr-x. 2 root root   50 Mar 27 08:27 runlevel5.target.wants
lrwxrwxrwx. 1 root root   13 Mar 27 08:27 runlevel6.target -> reboot.target
[root@mysql ~]# systemctl get-default                            // 查看当前系统默认的target
[root@mysql ~]# systemctl list-unit-files --type=target          //列出所有target
[root@mysql ~]# systemctl list-dependencies multi-user.target    // 查看指定target下有哪些unit
[root@mysql ~]# systemctl get-default
multi-user.target
[root@mysql ~]# systemctl list-dependencies multi-user.target 
multi-user.target
● ├─auditd.service
● ├─crond.service
● ├─dbus.service
● ├─firewalld.service
● ├─irqbalance.service
● ├─kdump.service
● ├─network.service
● ├─NetworkManager.service
● ├─plymouth-quit-wait.service
● ├─plymouth-quit.service
● ├─postfix.service
● ├─rhel-configure.service
● ├─rsyslog.service
● ├─sshd.service

systemd  关机命令

poweroff
systemctl poweroff

重启命令

reboot
systemctl reboot
原文地址:https://www.cnblogs.com/mingerlcm/p/10600184.html