我有一个复杂的 systemd 目标单元,其中包含许多依赖单元。我想列出并解析这些状态,而不会退回到循环中。
'list-dependencies' 子命令仅以(彩色,不以纯 unicode 复制)点的形式给出状态,这不是很好解析。
> systemctl list-dependencies --no-page myunit.target
dcache.target
● ├─mytemplate@unit_foo.service
● ├─mytemplate@unit_bar.service
● ├─mytemplate@unit_baz.service
...
--no-page 标志似乎没有任何影响,并且无论有无输出都保持不变。
或者,
systemctl list-dependencies --plain myunit.target
仅列出依赖项但不列出其当前状态
有没有办法从'systemctl list-dependencies'生成输出,可以解析或者是JSON或类似的?
Systemd 不支持任何开箱即用的 json api。检查下面的讨论:https ://github.com/systemd/systemd/issues/83 。在这里获得机器可读输出的唯一方法是 --plain 版本,您提到了它并且工作得很好。您可以使用 systemctl 获得的状态信息是活动的。所以你需要做一些脚本来得到你想要的。对于您的具体问题,您可以使用: