在Linux上获取服务及其状态的Python代码

时间:2020-05-09 10:29:21

标签: python linux service

我正在尝试编写一个可以在计算机(Linux或Windows)上获取 services 词典的python程序。

词典中的任何条目都是由{Service:Status}对组成的。

该程序将在每隔给定的几秒钟内从用户运行一次。

我知道psutils模块提供了正确的工具,因为它具有简单性和跨平台功能。

因此,我在下面编写了这段代码。这段代码正在从系统获取信息。

def getServiceDict():
    dict = {}
    if os.name == "nt":
        for service in psutil.win_service_iter():
            dict[service.name()] = service.status()
    elif os.name == "posix":
        for pid in psutil.pids():
            name = psutil.Process(pid).name()
            status = psutil.Process(pid).status()
            dict[name] = status

    return list

您可以看到Windows中的服务列表非常简单,但是在linux上,我发现仅列出进程而不是服务的一种方法。

如何在Linux中区分进程与服务?

是否存在可以通过psutils访问的属性?也许是其他模块?

0 个答案:

没有答案