查找进程是否在Windows psutil中运行

时间:2014-06-10 08:53:41

标签: python windows psutil

process_name = "CCC.exe"
for proc in psutil.process_iter():
    if proc.name == process_name:
        print ("have")
    else: 
        print ("Dont have")

我知道CCC.exe正在运行。我用2.7和3.4 python尝试了这个代码 我也导入了psutil。然而,这个过程就在那里,但它正在印刷"没有"。

3 个答案:

答案 0 :(得分:3)

return (struct ops *)inst->priv name的一种方法:

proc

答案 1 :(得分:0)

以下是在Windows 7上使用python v2.7

的修改版本

您在代码中以错误的方式执行此操作if proc.name == process_name:。尝试print proc.name,您会注意到为什么您的代码无法按预期工作。

代码:

import psutil
process_name = "System" 
for proc in psutil.process_iter(): 
    process = psutil.Process(proc.pid)# Get the process info using PID
    pname = process.name()# Here is the process name
    #print pname
    if pname == process_name: 
        print ("have") 
    else: print ("Dont have")

Here是关于如何使用psutil的一些示例。我只是读了它们并想出了这个解决方案,可能有更好的解决方案。我希望它有所帮助。

答案 2 :(得分:0)

我通过使用WMI而不是psutil来解决它。 https://pypi.python.org/pypi/WMI/

在Windows上安装它。

import wmi c = wmi.WMI () for process in c.Win32_Process (): if "a" in process.Name: print (process.ProcessId, process.Name)