在Linux, 关于系统:如何创建一个启动许多其他服务的服务? ...就像容器、组或父级一样。
我有5个左右系统服务:
app.alpha.service
app.bravo.service
app.charlie.service
app.delta.service
app.echo.service
它们都是超级服务的一部分app
,我无法成功.service
为其创建文件。
我希望能够作为一个团队一起启动/停止它们。
例如:
sudo systemctl start app
我通过创建app.service
这样的内容来做到这一点:
[Unit]
Description=App Service
After=network.target
[Install]
WantedBy=multi-user.target
在每个app.*.service
文件中,它都app.service
用以下名称命名PartOf
:
[Unit]
PartOf=app.service
看来这还不够,而且我还没有正确设置。我该怎么做呢?
而且,它app.service
并没有真正做任何事情。它只是想成为一个逻辑容器。不确定这是否允许。
答案1
我找到了对我有用的东西。
此更改为应用程序服务使得当你开始app.service,其他的也会启动。将其他服务命名为Wants=
应用程序服务:
[Unit]
Wants=app.alpha.service
Wants=app.bravo.service
Wants=app.charlie.service
Wants=app.delta.service
Wants=app.echo.service
对个别服务的这一更改使得当您停止app.service 其他这个服务也会停止。将控制服务命名为PartOf=
应用程序.*.服务:
[Unit]
PartOf=app.service
我不喜欢必须更改两个 .service 文件,但这足以解锁我。