我正在为 myprog.service 创建一个服务文件,并且我想确保它仅在 PostgreSQL 启动后启动。
但是,如果用户没有安装 PostgreSQL,那么我希望它忽略该要求并让 myprog.service 启动。
SystemD 服务文件是否可以依赖于可选(可能不存在)的服务?
答案1
是的。如中所述systemd.unit(5)
手册页,使用Wants=
andAfter=
指令,如下所示:
示例.服务:
[Unit]
Description=Example service
Wants=postgresql.service
After=postgresql.service
Wants=
表示依赖项是可选的(与Requires
或相对Requisite
),并将After=
其放在该单元之前。