我正在尝试在Fedora 15盒子上运行几个python web服务。 它们是通过贴纸运行的,启动它们的唯一区别是它们读取的configuration文件。
这似乎很适合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 [email protected] [email protected] After=syslog.target [Install] WantedBy=multi-user.target
这种分组甚至有可能与systemd?
看看使用BindsTo选项将单位绑在一起。 systemd.unit(5)手册页描述如下:
BindsTo =
configuration需求依赖关系,风格与Requires =非常相似,但是除了这个行为之外,它还声明当任何列出的单位突然消失时,这个单位就会停止。 如果某个服务自行终止,则设备可能会突然意外消失,设备将被拔出,或者在不涉及systemd的情况下卸载安装点。
这听起来像是应该做你想做的事情,把一个单位绑在另一个单位上,这样,每当主站停止时,从站也停止,反之亦然。
不要忘记,您也可以使用Before / After来指定必要时应该启动的顺序。