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

 

posted @ 2017-06-10 16:25  yihailin  阅读(3117)  评论(0编辑  收藏  举报