如何预先解析实例化服务以确定要运行的脚本

时间:2019-05-23 23:41:56

标签: systemd

我正在尝试为实例化服务创建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。

我这样做是因为我需要同时运行各种配置,因此使用实例化的服务似乎很有意义。如果可能的话,我只是不想用我的包装脚本封装目标。

赞赏任何见识。

0 个答案:

没有答案