【发布时间】:2014-01-19 19:43:43
【问题描述】:
我正在使用 python 2.7 和 windows。我想找出给定进程名称时活动的进程 ID 列表。
import time
import win32pdh
def GetProcessID( name ) :
object = "Process"
items, instances = win32pdh.EnumObjectItems( None, None, object,
win32pdh.PERF_DETAIL_WIZARD )
val = None
if name in instances :
hq = win32pdh.OpenQuery()
hcs = [ ]
item = "ID Process"
path = win32pdh.MakeCounterPath( ( None, object, name, None, 0, item ) )
hcs.append( win32pdh.AddCounter( hq, path ) )
win32pdh.CollectQueryData( hq )
time.sleep( 0.01 )
win32pdh.CollectQueryData( hq )
for hc in hcs:
type, val = win32pdh.GetFormattedCounterValue( hc, win32pdh.PDH_FMT_LONG )
win32pdh.RemoveCounter( hc )
win32pdh.CloseQuery( hq )
return val
hh=GetProcessID("python")
在上面的代码中,即使两个 python 进程正在运行,我也只有一个进程 ID。我的查询是如何使用 python 进程获取所有处于活动状态的进程 ID
【问题讨论】:
标签: python windows python-2.7 process