Linux Systemd 介绍

发布时间: 更新时间: 总字数:700 阅读时间:2m 作者: 分享 复制网址

systemdLinux 系统的一种 中央化系统及设置管理程序(init),包括有守护进程程序库以及应用软件组成。目标是解决系统服务间的依赖关系,并依此实现系统初始化时服务的并行启动,同时达到降低系统的开销。

历史

在旧的 Linux 中,服务启动一直采用 init 进程。如:

$ /etc/init.d/apache2 start
$ service apache2 start

缺点如下:

  • 启动时间长:串行启动进程
  • 启动脚本复杂:init 进程只是执行启动脚本,不管其他事情,因此脚本需要处理各种异常情况

介绍

  • Systemd 是 Linux 的系统启动器之一
  • Unix 中通常以 d 作为系统 守护进程(daemon) 的后缀标识。Systemd 就是它要守护整个系统的进程,因此其 pid1
$ systemctl --version
systemd 215
+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 -SECCOMP +BLKID +ELFUTILS +KMOD +IDN
$ pstree 1
systemd─┬─AliSecGuard───6*[{AliSecGuard}]
        ├─AliYunDun───23*[{AliYunDun}]
...

常见 systemd 文件

  • 所有的单元文件:systemctl list-unit-files
    • Service units: 以 .service 结尾的配置文件,记录由 systemd 控制和监督的进程的信息
      • 查看命令 systemctl list-unit-files --type service
      • man systemd.service
    • Socket units: 以 .socket 结尾的配置文件,编码包括 IPC 或网络套接字 Socket文件系统FIFO的信息,用于 socket 的激活,由 systemd 控制和监督,如 systemctl cat docker.socket
    • Target units: 以 .target 结尾的配置文件,编码 systemd 目标单元的信息,用于单元分组和启动时作为同步点
    • Timer units 定时器
      • man systemd.timer
      • systemctl list-unit-files --type timer
    • Slice units 资源的分配
      • systemctl list-unit-files --type slice

路径

  • /lib/systemd/system 默认 units 文件路径
  • /etc/systemd/system 配置文件
  • /usr/lib/systemd/system 用户自己定义的单元文件

systemctl

管理命令

# 启动
$ systemctl start <UnitName>

# 关闭
$ systemctl stop <UnitName>

# 重启
$ systemctl restart <UnitName>

# 查看状态
$ systemctl status <UnitName>

# 开机启动
$ systemctl enable <UnitName>

# 禁止开机启动
$ systemctl disable <UnitName>

# 杀死进程
$ systemctl kill <UnitName>

systemd-analyze

# 查看启动耗时
$ systemd-analyze

# 查看每个服务的启动耗时
$ systemd-analyze blame

# 显示瀑布状的启动过程流
$ systemd-analyze critical-chain

# 显示指定服务的启动流
$ systemd-analyze critical-chain atd.service

loginctl

# 查看当前登录的用户
$ loginctl list-sessions
$ loginctl list-users
$ loginctl show-user root

参考

  1. https://freedesktop.org/wiki/Software/systemd/
Home Archives Categories Tags Statistics
本文总阅读量 次 本站总访问量 次 本站总访客数