2
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。然而,这个过程在那里,但它正在打印“没有”。

4

3 回答 3

4

name是一种方法proc

process_name = "CCC.exe"
for proc in psutil.process_iter():
    if proc.name() == process_name:
        print ("have")
    else: 
        print ("Dont have")
于 2016-05-13T20:35:44.103 回答
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)

于 2014-06-10T11:12:26.303 回答
0

这是使用 python v2.7 在 Windows 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")

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

于 2014-06-10T09:42:38.570 回答