Menu Close

12.2. systemd 主要特性

systemd 系统和服务管理器提供以下主要功能:

  • 基于套接字的激活 - 在系统引导时,systemd 为支持此类激活的所有系统服务创建侦听套接字,并在服务启动后立即将套接字传递给这些服务。这不仅允许 systemd 并行启动服务,还可以在它不可用时重启这个服务,而不会丢失发送到该服务的任何消息:对应的套接字可以访问,所有消息都已排队。

    systemd 使用 套接字单元 进行基于套接字的激活。

  • 基于总线的激活 - 将 D-Bus 用于进程间通信的系统服务可以在客户端应用程序尝试与它们通信时按需启动。systemdD-Bus 服务文件 用于基于总线的激活。
  • 基于设备的激活 -- 对于支持基于设备激活的系统服务,当一个特定硬件被插入时,或设备变为不可用时,可以根据需要重启服务。systemd 使用设备单元实现基于设备的激活。
  • 基于路径的激活 — 当特定文件或目录的状态发生变化时,支持基于路径的激活的系统服务可按需启动它的状态。systemd 使用路径单元实现基于路径的激活。
  • 挂载和自动挂载点管理 - systemd 监控并管理挂载和自动挂载点。systemd 使用 挂载单元 作为挂载点,automount 单元 用于自动挂载点。
  • 积极并行化 - 由于使用基于套接字的激活,systemd 可以在所有侦听的套接字都就绪时并行启动系统服务。和支持按需激活的系统服务相结合,并行激活可大大减少引导系统所需的时间。
  • 事务单元激活逻辑 - 在激活或停用单元之前,systemd 计算其依赖项,创建临时事务,并验证这个事务是否一致。如果一个事务出现不一致的情况,systemd 会自动尝试更正它并从其中删除非必要作业,然后再报告错误。
  • 与 SysV init 的后向兼容性 - systemd 支持 SysV init 脚本,如 Linux Standard Base Core 规格 中所述,这简化了 systemd 服务单元的升级路径。