systemd简介
系统启动和服务器进程由systemd系统和服务管理器进行管理。此程序提供了一种方式,可以在启动时和运行中的系统上激活系统资源,服务器守护进程和其他进程。
后台程序是在执行各种任务的后台等待或运行的进程。一般情况下,守护进程在系统启动时自动启动并持续运行至关机或被手动停止。
为了侦听连接,守护进程使用套接字。这是与本地或远程客户端的主要通信通道。套接字可能能由守护进程创建,或者可能从守护进程隔开并通过另一进程创建,如systemd。当客户端建立连接时,套接字传递到守护进程。所谓服务,它通常指的是一个或多个进程,但启动或停止一项服务可能会对系统的状态进行一次性更改,不会留下守护进程之后继续运行。
守护进程deamon:后台运行或等待的进程,通常以d结尾
PID 1是systemd
服务单元
systemctl命令用于管理服务单元。#systemctl –t help显示可用服务单元类型。
常见单元类型:
(1)service:服务单元,代表系统服务。这种单元用于启动经常访问的守护进程,如web服务器。
(2)socket:套接字单元 ,代表进程间通信(IPC)套接字。套接字的控制可以在建立客户端连接时传递到守护进程或新启动的服务。套接字单元用于延迟系统启动时的服务启动,或者按需启动不常用的服务。
(3)path:路径单元,用于将服务的激活推迟到特定文件系统更改发生之后。这通常用于使用假脱机目录的服务,如打印系统。
列出服务单元
systemctl list-unit --type=service #--type选项用于指定单元类型
systemctl #(不带任何选项)列出已加载和活动的单元
#--all 列出所有单元,--state=选项可以按照字段值(LOAD、ACTIVE、SUB)筛选
systemctl命令控制系统服务
systemctl start name.service #启动服务
systemctl stop #停止服务
systemctl restart #重启
systemctl reload #重新加载
systemctl list-dependencies #列出依赖关系
systemctl mask #屏蔽服务
#注:屏蔽操作会创建指向/dev/null的链接
systemctl umask #取消屏蔽
systemctl enable #开机启动
systemctl disable #开机不启动
#注:disable服务只能手动启动
systemctl is-enabled #验证开机是否启动
systemctl status #查看状态
systemctl命令输出的服务状态
关键词 | 描述 |
loaded | 单元配置文件已处理 |
active | (running)正在通过一个或多个持续进程运行 (exited)已成功完成一次性配置 (waiting)运行中,但在等待事件 |
inactive | 不在运行 |
enabled | 将在系统启动时启动 |
disabled | 不会在系统启动时启动 |
static | 无法启动,但可以由某一启动的单元自动启动 |