gpt4 book ai didi

python - 使用 Python 列出 linux 中的所有守护进程/服务名称?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:14:43 24 4
gpt4 key购买 nike

我想在 Linux 中使用 python 获得所有守护进程/服务的列表。我可以使用

获取信息
service --status-all

但是我不想通过 Python 执行终端命令。是否有任何 API 可用于执行此操作?

我的项目包含很多东西,所以我需要注意内存和 CPU 使用情况,而且我可能需要每 10 秒或 60 秒运行一次命令,具体取决于配置。所以我不想创建太多进程。

之前我使用过subprocess.check_output(command)

但我的经理告诉我避免使用命令并尝试使用任何可用的包,我尝试搜索一些但发现只能监控服务而无法列出的包。

最后,我的目标是尽量减少系统负载。有什么建议 ?

其他详细信息-

Python 3.7.2
Ubuntu 16

最佳答案

使用 psutil(sudo pip3 install psutil)

#!/usr/bin/env python
import psutil


def show_services():
return [(
psutil.Process(p).name(),
psutil.Process(p).status(),
) for p in psutil.pids()]


def main():
for service in show_services():
if service[1] == 'running':
print(service[0])


if __name__ == '__main__':
main()

show_services 返回元组列表(名称、状态)

关于python - 使用 Python 列出 linux 中的所有守护进程/服务名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54568953/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com