psutil是一个跨平台的库,可检索有关正在运行的进程和系统利用率的信息。
import psutilpythons_psutil = []for p in psutil.process_iter(): try: if p.name() == 'python.exe': pythons_psutil.append(p) except psutil.Error: pass>>> pythons_psutil[<psutil.Process(pid=16988, name='python.exe') at 25793424>]>>> print(*sorted(pythons_psutil[0].as_dict()), sep='n')cmdlineconnectionscpu_affinitycpu_percentcpu_timescreate_timecwdexeio_countersionicememory_infomemory_info_exmemory_mapsmemory_percentnamenicenum_ctx_switchesnum_handlesnum_threadsopen_filespidppidstatusthreadsusername>>> pythons_psutil[0].memory_info()pmem(rss=12304384, vms=8912896)
在现有的Windows Python中,您可以使用
subprocess和
csv解析以下输出
tasklist.exe:
import subprocessimport csvp_tasklist = subprocess.Popen('tasklist.exe /fo csv', stdout=subprocess.PIPE, universal_newlines=True)pythons_tasklist = []for p in csv.DictReader(p_tasklist.stdout): if p['Image Name'] == 'python.exe': pythons_tasklist.append(p)>>> print(*sorted(pythons_tasklist[0]), sep='n')Image NameMem UsagePIDSession NameSession#>>> pythons_tasklist[0]['Mem Usage']'11,876 K'


