"Systemd
对于Linux来讲,就是一个init
程序,能够做为sysVinit
和Upstat
的替代。框架
RHEL7监控和控制Systemd的主要命令是systemctl
,该命令可查看系统状态
和管理系统及服务
。ssh
RHEL7的服务systemctl脚本存放在:
/usr/lib/systemd
,有系统(system)
和用户(user)
之分。
.
像一些须要开机不登录就得运行的程序,就存在系统服务里,即:/usr/lib/systemd/system
目录下。而关于用户的存放在/usr/lib/systemd/user
目录下。
.
其中每个服务以.service
结尾,通常分为3部分:[Unit]
、[Service]
、[Install]
.
以下图(sshd服务):[Unit]
这部分是对这个服务的说明,主要内容包括Description和After。
Description用于描述服务;After用于描述服务类型。
.[Service]
这部分是服务的关键,是服务的一些具体运行参数的设置。socket
Type=forking
表示此服务是后台运行的形式。PIDFile
指定存放PID的文件路径。ExecStart
为服务的具体运行命令。ExecReload
为重载命令。ExecStop
为中止命令。.
注意:[Service]部分的启动、重启、中止 命令所有要求使用绝对路径!
.[Install]
这部分是服务安装的相关设置,可设置为多用户的。
须要注意的是,若是服务没有Install部分,通常意味着应该经过其它服务自动调用它们。
使用systemd时,可经过正确编写单元配置文件来解决其依赖关系。
典型的状况是,服务A要求服务B在A启动以前运行。在此状况下,向服务A配置文件中的[Unit]段添加Requires=B和After=B便可.ide
对于玩转RHEL6的小伙伴来讲,service
和chkconfig
这两个命令确定不陌生。工具
RHEL7系统中的systemctl
是管制服务的主要工具,它整合了service与chkconfig功能于一体。ui
systemd提供更优秀的框架以表示系统服务间的依赖关系。
systemd实现系统初始化时服务的并行启动,同时达到下降Shell的系统开销的效果。
systemd的目的是尽量启动更少的进程,尽量将更多进程并行启动。rest
systemctl命令的基本格式:systemctl 动做 服务名.service
code
可以使用 systemctl daemon-reload
从新载入systemd,扫描新的或有变更的单元。进程
系统状态相关
systemctl reboot
重启系统
.systemctl poweroff
退出系统并中止电源
.systemctl
或systemctl list-units
输出激活单元
.systemctl list-units --type=service
列出active状态的服务
.systemctl list-unit-files
列出全部已安装的服务
.systemctl --failed
显示启动失败的服务
.systemd-cgls
以树形列出正在运行的进程图片
服务控制相关
systemctl start 服务名.service
当即启动服务
.systemctl stop 服务名.service
当即中止服务
.systemctl restart 服务名.service
重启服务
.systemctl reload 服务名.service
从新载入服务
.systemctl status 服务名.service
输出服务运行状态
.systemctl is-enabled 服务名.service
检查服务是否为开机自启
.systemctl enable 服务名.service
启用服务开机自启
.systemctl disable 服务名.service
禁用服务开机自启
.systemctl is-active 服务名.service
检查服务是否正在运行
.systemctl mask 服务名.service
禁用服务
.systemctl unmask 服务名.service
激活服务
关于单元扩展名
全部可用的单元文件存放在
/usr/lib/systemd/system/
和/etc/systemd/system
目录(后者优先级更高)。
.
一个单元能够是系统服务(.service)、挂载点(.mount)、sockets(.sockets)。
.
使用systemctl控制单元时,一般须要使用单元文件的全名,包括扩展名(例如sshd.service)。
.
可是呢,有些单元文件能够在systemctl中使用简写方式。若是无扩展名,systemctl默认把扩展名当作.service
。例如 sshd 和 sshd.service 是等价的。
.
挂载点会自动转化为相应的.mount单元。例如/home等价于home.mount。
设备会自动转化为相应的.device单元,因此/dev/sda2等价于dev-sda2.device。
作你没作过的事情,叫作成长。
作你不肯意作的事情,叫作改变。
作你不敢作的事情,叫作突破。
兄dei,加油!
不要天天看着励志的句子,过着颓废的生活。
——抖音@张培猪 "