RHEL7使用systemctl管理服务

1、
 
systemctl命令
说明
systemctl    start   [unit type]
启动服务
systemctl    stop   [unit type]
停止服务
systemctl    restart   [unit type]
重启服务
 
 
  • status:参数来查看服务运行情况
  • reload:重新加载服务,加载更新后的配置文件(并不是所有服务都支持这个参数,比如network.service)
 
2、设置开机启动/不启动服务
 
systemctl命令
说明
systemctl enable [unit type]
设置服务开机启动
systemctl disable [unit type]
设备服务禁止开机启动
 
 
3、查看系统上的所有服务
 
systemctl命令
说明
systemctl
列出所有的系统服务
systemctl list-units
列出所有启动unit
systemctl list-unit-files
列出所有启动文件
systemctl list-units –type=service –all
列出所有service类型的unit
systemctl list-units –type=service –all grep cpu
列出 cpu电源管理机制的服务
systemctl list-units –type=target –all
列出所有target
 
 
 
4、systemctl的特殊用法
 
systemctl命令
说明
systemctl is-active [unit type]
查看服务是否运行
systemctl is-enable [unit type]
查看服务是否设置为开机启动
systemctl mask [unit type]
注销指定服务
systemctl unmask [unit type]
取消注销指定服务
 
 
应用举例:

 

#查看网络服务是否启动
systemctl is-active network.service

 

#检查网络服务是否设置为开机启动
systemctl is-enable network.service

 

#停止cups服务
systemctl stop cups.service

 

#注销cups服务
systemctl mask cups.service

 

#查看cups服务状态
systemctl status cups.service

 

#取消注销cups服务
systemctl unmask cups.service
 
关闭sshd服务
在使用systemctl关闭网络服务时有一些特殊 需要同时关闭unit.servce和unit.socket
[root@localhost ~]# systemctl list-units --all |grep sshd
  sshd-keygen.service          loaded    inactive dead      OpenSSH Server Key Generation
  sshd.service                          loaded    active   running   OpenSSH server daemon
  sshd.socket                          loaded    inactive dead      OpenSSH Server Socket
 
可以看到系统同时开启了 sshd.service 和 sshd.socket , 如果只闭关了 sshd.service 那么 sshd.socket还在监听网络,在网络上有要求连接 sshd 时就会启动 sshd.service 。因此如果想完全关闭sshd服务的话,需要同时停用 sshd.service 和 sshd.socket 。
systemctl stop sshd.service
systemctl stop sshd.socket
systemctl disable sshd.service sshd.socket
 
 
5、init命令与systemctl命令对比
 
init命令
systemctl命令
说明
init 0
systemctl poweroff
系统关机
init 6
systemctl reboot
重新启动
 
 
与开关机相关的其他命令:
systemctl命令
说明
systemctl suspend
进入睡眠模式
systemctl hibernate
进入休眠模式
systemctl rescue
强制进入救援模式
systemctl emergency
强制进入紧急救援模式
 
 
 
 
6、设置系统运行级别
 
运行级别对应表:
 
init级别
systemctl target
0
shutdown.target
1
emergency.target
2
rescure.target
3
multi-user.target
4
5
graphical.target
6
 
此外还有一个getty.target用来设置tty的数量。
 
 
设置运行级别:
命令格式:
systemctl     [command]      [unit.target]
 
参数详解:
command:
  • get-default :取得当前的target
  • set-default :设置指定的target为默认的运行级别
  • isolate :切换到指定的运行级别
  • unit.target :为5.1表中列出的运行级别
 
 
 
systemctl命令
说明
systemctl get-default
获得当前的运行级别
systemctl set-default multi-user.target
设置默认的运行级别为mulit-user
systemctl isolate multi-user.target
在不重启的情况下,切换到运行级别mulit-user下
systemctl isolate graphical.target
在不重启的情况下,切换到图形界面下
 
 
 
7、使用systemctl分析各服务之间的依赖关系
命令格式
systemctl    list-dependencies    [unit]    [–reverse]
 
示例:

 

#获得当前运行级别的target
[root@www ~]# systemctl get-default
multi-user.target
 

 

#查看当前运行级别target(mult-user)启动了哪些服务
[root@www ~]# systemctl list-dependencies
 

 

#查看哪些target引用了当前运行级别的target
[root@www ~]# systemctl list-dependencies --reverse
 
 
8、开机关机
Table 4.2 systemctl Commands for Shutting Down, Suspending, or Rebooting a System
 
systemctl Command
Description
systemctl halt
Halt the system.
systemctl hibernate
Put the system into hibernation.
systemctl hybrid-sleep
Put the system into hibernation and suspend its operation.
systemctl poweroff
Halt and power off the system.
systemctl reboot
Reboot the system.
systemctl suspend
Suspend the system.

posted on 2019-08-19 11:26  春风亭牛二哥  阅读(1321)  评论(0编辑  收藏  举报

导航