簡體   English   中英

查找進程是否在Windows psutil中運行

[英]Find if process is running in 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。 然而,這個過程就在那里,但它印刷的是“沒有”。

nameproc一種方法:

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

這是在Windows 7上使用python v2.7為我工作的修改版本

if proc.name == process_name:你的代碼中if proc.name == process_name:你在這里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的一些示例。 我只是讀了它們並想出了這個解決方案,可能有更好的解決方案。 我希望它有所幫助。

我通過使用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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM