我正在尝试编写一个可以在计算机(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访问的属性?也许是其他模块?