繁体   English   中英

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

[英]Cross-platform python library for reporting and manipulating system services?

这是对问题的扩展,是否可以使用python启动/停止linux进程?

我刚刚遇到了这段代码:

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

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

显然,这是特定于init ,甚至可能仅限于openrc等。 它也很容易折断。

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

它可能像一个Rosetta操作系统一样简单,但是我想如果包含非POSIX操作系统则要复杂一些。

与另一个问题相反:

  • 我不希望该服务成为我的python应用程序的子进程。 服务本身应按常规独立管理。
  • 如果可能,我们应该使用操作系统选择的进程管理器
  • 在Linux上,这可能意味着openrc,init,supervisor等中的任何一个。
  • 我希望它也可以在Windows和OSX上运行。

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

**临时答案-仅适用于POSIX系统**

Ansible似乎在这里写了一个类来做到这一点 ,至少对于POSIX衍生的OS而言。

从代码:

支持的init系统包括BSD init,OpenRC,SysV,Solaris SMF,systemd和upstart。

它似乎是一个名为“ LinuxService”的类,它具有许多功能:

get_service_status()
service_enable()
service_control()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM