![通过 python 进行 systemctl](https://linux22.com/image/213127/%E9%80%9A%E8%BF%87%20python%20%E8%BF%9B%E8%A1%8C%20systemctl.png)
有什么办法可以systemctl status
通过python使用API吗?我正在寻找另一种在子进程中运行此命令的方法,因为我需要解析输出(如果将来输出发生变化,这可能会导致问题)。
答案1
您可以使用systemd 的 D-Bus API:
import dbus
bus = dbus.SystemBus()
systemd = bus.get_object('org.freedesktop.systemd1', '/org/freedesktop/systemd1')
manager = dbus.Interface(systemd, 'org.freedesktop.systemd1.Manager')
然后manager.ListUnits()
将返回所有配置的单元及其负载状态、活动状态和子状态。此方法有多种带有过滤器的变体。