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