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