进程、内存和网络资源跟踪器

问题描述 投票:-2回答:1

我想试着做一个类似于ubuntu中默认的进程、内存和网络资源追踪器。但由于我是python新手,我不知道如何让这些值显示出来(原则上是通过控制台,然后我会把它们做成图形)。哪种库比较容易实现?

python networking memory cpu-usage
1个回答
0
投票

在linux上,你可以利用 /proc 文件系统来读取您需要的信息。

/proc 文件系统是内核的一个窗口,里面有很多关于每个进程运行的数据。它被显示为一个虚拟的文件系统,这意味着你可以通过读取和解析文件来访问所有的信息。

比如说

from pathlib import Path

proc = Path('/proc')

for proc in proc.iterdir():
    if not proc.name.isnumeric():
        continue # ignore directories that aren't processes

    pid = proc.name    
    cmdline = (proc / 'cmdline').read_text()
    print(f'PROCESS : {pid} : {cmdline}')

这将列出所有正在运行的进程,以及它们的命令行。

在这里你可以收集很多信息。

关于 proc 的更多信息 此处

© www.soinside.com 2019 - 2024. All rights reserved.