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...')

 

posted @ 2020-06-05 10:31  danvy617  阅读(11245)  评论(0编辑  收藏  举报