通过 python 启动系统服务
Starting a systemd service via python
有没有办法通过 python start/restart systemd 服务?
我知道我可以进行系统调用 - 但我也可以在 shell 脚本中编写...
from subprocess import call
call(["systemctl", "restart service"])
我听说 systemd 有一些 python 绑定,但据我所知,它们只涵盖期刊
你可以使用systemd的DBus API调用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')
有没有办法通过 python start/restart systemd 服务?
我知道我可以进行系统调用 - 但我也可以在 shell 脚本中编写...
from subprocess import call
call(["systemctl", "restart service"])
我听说 systemd 有一些 python 绑定,但据我所知,它们只涵盖期刊
你可以使用systemd的DBus API调用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')