Python监控进程运行时信息的脚本

最近在项目中需要一个可以长时间运行并监控某个进程的CPU和内存使用信息的脚本。于是很自然想到用Python来实现。笔者使用的是psutil。代码如下所示。

#encoding=utf-8
import psutil
import time
import sys
 
"""
这个脚本用于监控某个进程的CPU和内存使用情况,将信息记录到文件中
"""
 
if __name__ == '__main__':
    """参数1:进程PID  参数2:保存的文件名(可选) 参数3:时间间隔(可选)  
    """
    pid = sys.argv[1]
    file_name = sys.argv[2] if len(sys.argv) > 2 else 'Test.txt'
    interval = float(sys.argv[3]) if len(sys.argv) > 3 else 1800
    p = psutil.Process(int(pid))
    try:
        
        while True:
            f = open(file_name, 'a')
            f.write('time: %s\tcpu percent: %f\tmemory usage:%d\n' % (time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())), 
                                                    p.get_cpu_percent(interval=1.0),
                                                    p.get_memory_info()[0]))
            f.close()
            # 每一段时间记录一次进程的CPU和内存使用信息
            time.sleep(interval)
    except KeyboardInterrupt:
        # 中断退出
        print 'Exit!'
    finally:
        f.close()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容