systemd
https://www.freedesktop.org/wiki/Software/systemd/
systemd
Socket Unit:进程间通信的 socket
Service unit:系统服务
Target unit:多个 Unit 构成的一个组
列出docker 依赖发服务
systemctl list-dependencies docker
基本结构
配置文件位置 /usr/lib/systemd/system
[Unit]
[Service]
[Install]
详细参数
[Unit]
Description=
Documentation=
After= 当前服务在他们之后启动
Wants=network-online.target 若依赖。配合当前unit 启动 如果network-online.target 不会影响当前服务启动
Requires= 强依赖。 当前 Unit 依赖的其他 Unit,如果它们没有运行,当前 Unit 会启动失败
[Service]
Type=notify # 当前服务启动完毕,会通知Systemd,再继续往下执行
EnvironmentFile=/run/flannel/subnet.env # 文件是key=value的变量组成,可以在启动命令中通过 $key 的方式引用变量
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock 启动当前服务的命令
ExecReload=/bin/kill -s HUP $MAINPID 重启当前服务时执行的命令
TimeoutSec=0 定义 Systemd 停止当前服务之前等待的秒数
RestartSec=2 自动重启当前服务间隔的秒数
Restart=always 定义何种情况 Systemd 会自动重启当前服务,可能的值包括always(总是重启)、on-success、on-failure、on-abnormal、on-abort、on-watchdog
[Install]
WantedBy=multi-user.target
修改/新建配置文件后使用 systemctl daemon-reload
加载配置文件
使用systemctl 管理的应用可以使用 journalctl -u flanneld
查看日志