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。然而,这个过程在那里,但它正在打印“没有”。
name
是一种方法proc
:
process_name = "CCC.exe"
for proc in psutil.process_iter():
if proc.name() == process_name:
print ("have")
else:
print ("Dont have")
我通过使用 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)
这是使用 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 的示例。我刚刚阅读了它们并想出了这个解决方案,可能有更好的解决方案。我希望它是有帮助的。