有没有一种通过Python启动/重新启动systemd服务的方法?
我知道我可以进行系统调用 - 但是那样的话我也可以用shell脚本来编写它。
from subprocess import call
call(["systemctl", "restart service"])
我听说systemd有一些Python绑定,但就我所见,它们只涵盖了journal。
有没有一种通过Python启动/重新启动systemd服务的方法?
我知道我可以进行系统调用 - 但是那样的话我也可以用shell脚本来编写它。
from subprocess import call
call(["systemctl", "restart service"])
我听说systemd有一些Python绑定,但就我所见,它们只涵盖了journal。
Manager
的RestartUnit
方法(需要足够的权限,否则无法工作)。import dbus
sysbus = dbus.SystemBus()
systemd1 = sysbus.get_object('org.freedesktop.systemd1', '/org/freedesktop/systemd1')
manager = dbus.Interface(systemd1, 'org.freedesktop.systemd1.Manager')
job = manager.RestartUnit('sshd.service', 'fail')