在Linux系统中可能某个自启动服务依赖于其他服务的启动状态,必须等待其他服务就绪后才能正常启动,此时通过修改服务启动配置文件可以实现该依赖关系。我们以sshd服务为例:
cd /usr/lib/systemd/system(也可能是/lib/systemd/system)
vims shd.service
[Unit]
Description=OpenSSH server daemon
Documentation=man:sshd(8) man:sshd_config(5)
After=network.target sshd-keygen.service
Wants=sshd-keygen.service
[Service]
Type=notify
EnvironmentFile=/etc/sysconfig/sshd
ExecStart=/usr/sbin/sshd -D $OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target
关键点在于在第7行After
,该项配置用于指定服务的依赖项,等待依赖项就绪后再启动自身。