python3怎么判断进程是否存在
通过进程名判断
import psutil def judgeprocess(processname): pl = psutil.pids() for pid in pl: if psutil.Process(pid).name() == processname: print(pid) break else: print("not found") if judgeprocess('notepad++.exe') == 0: print('success') else: pass
通过进程ID判断
import errno import os import sys def pid_exists(pid): """Check whether pid exists in the current process table. UNIX only. """ if pid < 0: return False if pid == 0: # According to "man 2 kill" PID 0 refers to every process # in the process group of the calling process. # On certain systems 0 is a valid PID but we have no way # to know that in a portable fashion. raise ValueError('invalid PID 0') try: os.kill(pid, 0) except OSError as err: if err.errno == errno.ESRCH: # ESRCH == No such process return False elif err.errno == errno.EPERM: # EPERM clearly means there's a process to deny access to return True else: # According to "man 2 kill" possible error values are # (EINVAL, EPERM, ESRCH) raise else: return True
推荐学习《Python教程》!
来源:PY学习网:原文地址:https://www.py.cn/article.html