最近項目中需要去判斷進程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...')