python - 在 Linux 上获取服务及其状态的 Python 代码
问题描述
我正在尝试编写一个 python 程序,它可以在机器(linux 或 windows)上获取服务字典。
字典上的任何条目都是由 {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 访问的属性?也许是一个不同的模块?
解决方案
推荐阅读
- ios - 如何在 SwiftUI 中自定义菜单项的外观?
- windows-store-apps - 如何设置快捷键以执行从 Windows 应用商店安装的应用
- python-3.x - 带有 GridSearch 的问题 Python-weka-wrapper3
- node.js - react 和 nodejs 环境中的 OAuth0
- java - 运行我的 Cucumber 自动化时出现 NoClassDefFoundError
- variance - EnvStats varTest 双边 p 值计算
- mongodb - 尝试检查 MongoDB 日志文件时出错
- amazon-web-services - 可以将 GET 请求的事件正文中的“queryStringParameter”移动到 AWS API Gateway HTTP API 的事件“正文”吗?
- ios - 无法将调试器附加到网络扩展 iOS(“等待附加”)
- postgresql - 将另一个数据库的分区添加到 Postgres 12 中的现有分区表