一、systemd基本介绍

1.作用

systemd守护进程管理Linux的启动,一般包括服务启动和服务管理,它可以在系统引导时以及运行中的系统上激活系统资源、服务器守护进程和其他进程

2.守护进程

守护进程是执行各种任务的后台等待或运行的进程,一般情况下,守护进程在系统引导时自动启动并持续运行至关机或被手动停止,Linux中许多守护进程的名称以字母d结尾

3.systemd提供的功能

并行化功能,提高系统的启动速度

按需启动守护进程,而不需要单独的服务

自动服务依赖关系管理,可以防止长时间超市

利用Linux控制组一起追踪相关进程的方式

二、常用的单元类型及其命令

1.介绍

(1)服务单元具

.service扩展名,代表系统服务。这种单元用于启动经常访问的守护进程

(2)套接字单元

.socket扩展名,代表systemd应监控的进程间通信(IPC)套接字,如果客户端连接套接字,systemd将启动一个守护进程并将连接传递给它。套接字单元用于延迟系统启动时的服务启动,或者按需启动不常使用的服务

(3)路径单元

.path扩展名,用于将服务的激活推迟到特定文件系统更改发生之后,通常用于使用假脱机目录的服务

三、相关命令

1.列出服务单元命令

(1)systemctl list-units命令

选项:--tpye=单元类型 :列出指定的单元类型

           --all:列出所有服务

          --state:服务状态

centos go守护进程 linux 守护进程启动_运维

命令所输出的列的解释

UNIT:服务单元名称

LOAD:systemd是否正确解析了单元的配置并将该单元加载到内存中

ACTIVE:单元的最高级别激活状态,表明着单元是否成功启动

SUB:单元的低级别激活状态

DESCRIPTION:单元的简短描述

(2)systemctl命令

不带任何参数的systemctl命令可以列出已加载和活动的单元

(3)systemctl list-untis-file

查看所有已安装的单元文件的状态

centos go守护进程 linux 守护进程启动_运维_02

2.查看服务状态

(1)systemctl status 服务名.类型

centos go守护进程 linux 守护进程启动_服务器_03

(2)服务单元信息

Loaded:服务是否已经加载到内存中

Active:服务单元是否正在运行,以及运行的时间

Main PID:服务的主进程ID,包括命令名称

Status:有关该服务的其他信息

(3)systemctl输出中的服务状态

loaded:单元配置文件已处理

active(running):正在通过一个或多个持续进程运行

active(exited):已成功完成一次性配置

active(waiting):运行中,但正在等待事件

inactive:不在运行

enable:在系统引导时启动

disable:未设为在系统引导时启动

static:无法启动,但可以由某一启用的单元自动启动

3.验证服务的状态

(1)systemctl is-active 服务.类型

验证服务单元是否处于活动状态

centos go守护进程 linux 守护进程启动_centos_04

(2)systemctl is-enable 服务.类型

验证服务单元是否已启用在系统引导期间自动启动

centos go守护进程 linux 守护进程启动_centos go守护进程_05

(3)systemctl is-failed 服务.类型

验证服务单元是否在启动过程中失败

centos go守护进程 linux 守护进程启动_centos_06

如果单元正常运行,该命令返回active,如果错误,返回failed,如果被停止,返回unknown或inactive

四、控制系统服务

1.启动和停止服务

命令:systemctl start/stop 服务.类型

centos go守护进程 linux 守护进程启动_服务器_07

2.重新启动和加载服务

systemctl restart/reload 服务.类型

如果不确定服务是否具有重新加载配置文件更改的功能,可以使用

systemctl reload-or-restart

centos go守护进程 linux 守护进程启动_服务器_08

3.列出单元依赖项目

systemctl list-dependencies 服务.类型

centos go守护进程 linux 守护进程启动_运维_09

  如果需要反向列出依赖关系(依赖制定单元的单元),使用

systemctl list-dependencies --reverse 服务.类型

centos go守护进程 linux 守护进程启动_服务器_10

4.屏蔽未屏蔽的服务

systemctl mask 服务.类型

取消屏蔽:systemctl umask 服务.类型

centos go守护进程 linux 守护进程启动_运维_11

 屏蔽操作会在配置目录中创建指向/dev/null文件连接,该文件可能阻止服务启动

5.使服务在同引导时启动或停止

systemctl enable 服务.类型

取消开机启动:systemctl disable 服务.类型

centos go守护进程 linux 守护进程启动_运维_12