psutil 跨平台根据程序名杀进程
笔者在项目中遇到过需要根据进程名杀进程的需求,利用python库psutil实现了此功能。
模块地址: https://pypi.python.org/pypi/psutil/ psutil功能 提供接口可以用来获取信息,包括: 当前运行的进程 系统(资源使用)信息 CPU 内存 磁盘 网络 用户 相应的用法可以看其提供的接口,便一目了然 以下是一个根据进程名,杀掉进程的例子,支持windows和linux平台def kill_process_with_name(process_name): """根据进程名杀死进程 @# 增加跨平台支持 """ pid_list = psutil.pids() for pid in pid_list: try: each_pro = psutil.Process(pid) if process_name.lower() in each_pro.name().lower():
logger.info('find and kill %s' % process_name)
each_pro.terminate()
each_pro.wait(timeout=3)
except psutil.NoSuchProcess, pid:
pass