用于报告和操作系统服务的跨平台python库?

问题描述:

这是一个扩展的问题is there a way to start/stop linux processes with python?用于报告和操作系统服务的跨平台python库?

我只是碰到这段代码传来:

os.system("/etc/init.d/apache2 " + op) 

...其中op是对服务执行的操作。

显然这是init -specific,可能甚至限于openrc或其他一些。它也很容易打破。

是否有python库来管理系统服务使用平台自己的服务管理器

它可能与OS Rosetta一样简单,但我想如果包含非POSIX操作系统会更复杂一点。

而不是在其他问题:

  • 我不希望该服务是我的Python应用程序的子进程。服务本身应该像平常一样独立管理。
  • 我们应该,如果可能的话,请使用操作系统的选择过程经理
  • 在Linux上,这可能意味着任何OpenRC的,初始化,supervisord的等
  • 我想它也适用于对Windows和OSX上运行,如果可能的话。

我们不一定需要复杂的操作。开始,停止,重新启动,重新加载,并且状态正常。

**临时应答 - POSIX系统只**

Ansible似乎已经写一个类来完成这一here,至少对POSIX衍生操作系统。

从代码:

支持的初始化系统包括BSD的init,OpenRC的,SysV的,SMF的Solaris,systemd,暴发户。

这似乎是一类被称为“LinuxService”,其具有多种功能:

get_service_status() 
service_enable() 
service_control()