我正在尝试为实例化服务创建systemd模板文件,以使其根据我拥有的规则启动不同的脚本。我想知道如何对%I进行预处理/解析。
我现在在python中有逻辑,基于传递给我的%I(它可以确定要运行的脚本),但是我希望systemd直接调用该脚本,而不是让我的python脚本执行目标脚本
示例:
systemctrl start myservice@test_server.config1
现在,它只是将%I传递给我的python脚本:
ExecStart=/opt/myparser.py %I
然后在该脚本中,我根据提供的内容解析%I,本质上是打开一个配置文件,查找目标,然后运行它。我最终运行类似的东西
import subprocess
### do some parsing based on input
... read settings file, lookup config1
###
subprocess.call(["test_server/server.py", "config1.json"])
现在,systemd正在运行/opt/myparser.py,而我想以某种方式回传或让systemd运行带有我的标志的test_server / server.py。
我这样做是因为我需要同时运行各种配置,因此使用实例化的服务似乎很有意义。如果可能的话,我只是不想用我的包装脚本封装目标。
赞赏任何见识。