文章目录
简介
系统启动和服务器进程由systemd系统和服务管理器进行管理。此程序提供了一种方式,可以在启动时和运行中的系统上激活系统资源,服务器守护进程和其他进程。
后台程序是在执行各种任务的后台等待或运行的进程。一般情况下,守护进程在系统启动时自动启动并持续运行至关机或被手动停止。按照惯例,许多守护进程的名称以字母‘d’结束
为了侦听连接,守护进程使用套接字。这是与本地或远程客户端的主要通信通道。套接字可能能由守护进程创建,或者可能从守护进程隔开并通过另一进程创建,如systemd。当客户端建立连接时,套接字传递到守护进程。
所谓服务,它通常指的是一个或多个进程,但启动或停止一项服务可能会对系统的状态进行一次性更改,不会留下守护进程之后继续运行(称为oneshot)
在Red Hat Enteprise Linux 7中,进程ID 1 属于systemd这一新的init系统,以下是systemd提供的几项新功能:
- 并行化功能,它可以提高系统的启动速度
- 按需启动守护进程,而不需要单独的服务
- 自动服务依赖关系管理,可以防止长时间超时,例如在网络不可用时不启动网络服务
- 利用Linux控制组一起追踪相关进程的方式
systemctl和systemd单元
systemctl命令用于管理各种类型的systemd对象,它们称为单元。可以通过systemctl -t help 命令显示可用单元类型的列表。
下方列出了一些常用单元类型:
- 服务单元具有 .service扩展名,代表系统服务。这种单元用于启动经常访问的守护进程,如web服务器
- 套接字单元 .socket 扩展名,代表进程间通信(IPC)套接字。套接字的控制可以在建立客户端连接时传递到守护进程或新启动的服务。套接字单元用于延迟系统启动时的服务启动,或者按需启动不常用的服务。这原则类似于使用xinetd超级服务器按需启动的服务。
- 路劲单元具有 .path 扩展名,用于将服务的激活推迟到特定文件系统更改发生之后。这通常用于使用假脱机目录的服务,如打印系统。
服务状态
可以通过systemctl status name.type 查看服务的状态。如果为提供单元类型,则systemcl将显示服务单元的状态(如果存在)。
状态输出中可以找到表示服务状态的几个关键字:
关键词 | 描述 |
---|---|
loaded | 单元配置文件已处理 |
active(running) | 正在通过一个或多个持续进程运行 |
active(exited) | 已成功完成一次性配置 |
active& |