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()
設定されたすべてのデバイスがロードステータス、アクティブステータス、およびサブステータスとともに返されます。フィルタを使用するこの方法にはいくつかのバリエーションがあります。