我有一个模板单元,必须创建它才能启动/停止在给定端口运行的一些服务。类似于[email protected]
,[email protected]
。
[Unit]
After=network.target
PartOf=services.target
[Service]
ExecStart=app run --port %i
ExecStopPost=sleep 5
[Install]
WantedBy=multi-user.target
我创建了一个目标来同时管理所有这些服务。
cat services.target
[Unit]
[email protected] [email protected]
效果很好。它们都提供相同的 API,因此为了中断服务,我只想同时重启一个进程。
After
。一种解决方案可能是在 中使用unit template
,但这不太灵活,因为我可以运行更多或更少的这些进程,如果我删除一个,我可能会破坏依赖链.... 所以我找到的唯一解决方案是编写一个 bash 脚本,逐个停止/启动实例,在sleep
之间使用 。这意味着可以使用 到target
和stop
但start
不能restart
... 这并不方便。
我还有哪些其他选择?可以使用吗notify
?