用于报告和操作系统服务的跨平台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()