ras*_*ing 7 linux fedora systemd
我有几个 python 网络服务,我试图在 Fedora 15 机器上运行。它们由 Paster 运行,启动它们的唯一区别是它们读取的配置文件。
这似乎很适合 systemd 的实例化服务,但我希望能够将它们作为一个单元进行控制。需要这两种服务的 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
Run Code Online (Sandbox Code Playgroud)
这是目标文件:
[Unit]
Description=AUI
Requires=aui@5001.service
Requires=aui@5002.service
After=syslog.target
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
systemd 甚至可以进行这种分组吗?
看看使用BindsTo选项将单位联系在一起。该systemd.unit(5)手册页描述它是这样的:
绑定到=
配置需求依赖,在风格上与 Requires= 非常相似,但是除了这种行为之外,它还声明当列出的任何单元突然消失时,该单元将停止。如果服务自行选择终止、设备被拔出或挂载点在没有 systemd 参与的情况下被卸载,单元可能会突然、意外地消失。
听起来它应该做你想做的事情并将一个单元连接到另一个单元,这样每当主机停止时,从机也会停止,反之亦然以启动。
不要忘记,如果需要,您还可以使用Before/After来指定它们应该以何种顺序开始。
| 归档时间: |
|
| 查看次数: |
3276 次 |
| 最近记录: |