Python을 통한 systemctl

Python을 통한 systemctl

systemctl statusPython을 통해 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()구성된 모든 장치가 로드 상태, 활성 상태 및 하위 상태와 함께 반환됩니다 . 필터를 사용하는 이 방법에는 여러 가지 변형이 있습니다.

관련 정보