我有一些
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来指定必要时应该开始的顺序.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。