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.


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM