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

 

 

 

 

 

Systemctl - 显示服务状态
若是用户需要查看某个服务的状态,可以通过如下命令来进行查看:

systemctl status name.service

其中的命令参数说明如下:
Loaded:说明服务是否被加载,同时显示对应的绝对路径是否启用
Active:说明服务是否正在运行,并显示时间节点
Main PID:相应系统服务PID值
CGroup:相关控制组的其他信息

 

Systemctl - 其他操作
Systemd亦可通过systemctl命令对系统进行关机、重启、休眠等操作,具体命令如下:
关闭系统:

systemctl poweroff #关闭系统并下电
systemctl halt #关闭系统但不下电

重启系统:

systemctl reboot 

系统待机:

systemctl suspend

系统休眠:

systemctl hibernate 
systemctl hybrid-sleep #使系统待机并处于休眠状态

 

posted @ 2019-03-27 02:16  minger_lcm  阅读(1926)  评论(0编辑  收藏  举报