加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 有没有办法将两个实例化的systemd服务作为一个单元进行

发布时间:2020-12-13 17:15:48 所属栏目:Linux 来源:网络整理
导读:我有一些 python Web服务,我正试图在Fedora 15机器上运行.它们由paster运行,启动它们的唯一区别是它们读取的配置文件. 这似乎非常适合systemd的实例化服务,但我希望能够将它们作为一个单元进行控制.需要两种服务的系统目标似乎是接近它的方法.启动目标会启动
我有一些 python Web服务,我正试图在Fedora 15机器上运行.它们由paster运行,启动它们的唯一区别是它们读取的配置文件.

这似乎非常适合systemd的实例化服务,但我希望能够将它们作为一个单元进行控制.需要两种服务的系统目标似乎是接近它的方法.启动目标会启动两个服务,但停止目标会使它们继续运行.

这是服务文件:

[Unit]
Description=AUI Instance on Port %i
After=syslog.target

[Service]
WorkingDirectory=/usr/local/share/aui
ExecStart=/opt/cogo/bin/paster serve --log-file=/var/log/aui/%i deploy-%i.ini        
Restart=always
RestartSec=2
User=aui
Group=aui

[Install]
WantedBy=multi-user.target

这是目标文件:

[Unit]                    
Description=AUI           
Requires=aui@5001.service
Requires=aui@5002.service
After=syslog.target   

[Install]                 
WantedBy=multi-user.target

这种分组甚至可以用systemd吗?

解决方法

看看使用BindsTo选项将单元绑定在一起. systemd.unit(5)手册页描述如下:

BindsTo=

Configures requirement dependencies,very similar in style to
Requires=,however in addition to this behavior,it also declares that
this unit is stopped when any of the units listed suddenly disappears.
Units can suddenly,unexpectedly disappear if a service terminates on
its own choice,a device is unplugged or a mount point unmounted
without involvement of systemd.

这听起来应该做你想做的事情并将一个单元绑定到另一个单元,这样每当主设备停止从设备停止时,反之亦然,以便启动.

不要忘记您也可以使用Before / After来指定必要时应该开始的顺序.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读