Python: 判斷進程是否正在運行


最近項目中需要去判斷進程chrome.exe是否正在運行,本來使用win32com,但是發現在被django view.py中調用的時候居然總是提示‘Invalid syntax’,后來換用psutil就能正常運行。並且psutil是跨平台的。

# 使用win32com來判斷進程是否存在
import win32com.client
def proc_exist(process_name):
    is_exist = False
    wmi = win32com.client.GetObject('winmgmts:')
    processCodeCov = wmi.ExecQuery('select * from Win32_Process where name=\"%s\"' %(process_name))
    if len(processCodeCov) > 0:
        is_exist = True
    return is_exist

if proc_exist('chrome.exe'):
    print('chrome.exe is running')
else:
    print('no such process...')

 

# 使用psutil來判斷
import psutil
def proc_exist(process_name):
    pl = psutil.pids()
    for pid in pl:
        if psutil.Process(pid).name() == process_name:
            return pid

if isinstance(proc_exist('chrome.exe'),int):
    print('chrome.exe is running')
else:
    print('no such process...')

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM