这个“服务”似乎运行 /bin/true,但为什么呢?还有另一个[电子邮件保护]文件也一样,但是为什么这个文件会存在呢?是的,这是整个文件。
# systemd service for managing all PostgreSQL clusters on the system. This
# service is actually a systemd target, but we are using a service since
# targets cannot be reloaded.
[Unit]
Description=PostgreSQL RDBMS
[Service]
Type=oneshot
ExecStart=/bin/true
ExecReload=/bin/true
RemainAfterExit=on
[Install]
WantedBy=multi-user.target
答案1
这只是一个虚拟服务,一个通过以下方式启动实际 PostgreSQL 的触发器:服务依赖项。这/bin/true
只是让它看起来像是已经成功启动,但实际上并没有做任何事情。
答案2
顶部的注释很清晰,解释了用法。每个集群都有自己的单元文件 postgresql@version-cluster,它们都是“PartOf=postgresql.service”。因此,此单元允许启动所有集群,systemctl start postgresql
并且其他服务依赖于所有集群处于特定状态(例如,已启动)。