python3实现windows下同名进程监控


Posted in Python onJune 21, 2018

python3实现windows下同名进程监控,供大家参考,具体内容如下

公司老版的SVN服务器的svn服务经常意外关闭,需要写个简单的监控脚本监控一下;

首先多个SVN服务使用不同的端口,使用wmic命令查看所有SVN进程占用的端口以此来判断目标服务是否存活,wimc命令如下:

wmic process where caption=”svn.exe” get commandline /value

然后用正则取出标准输出中的端口,用来比对;

def get_alive_port(program):
 """
  获取目标程序占用的端口
  :param program {string} 目标进程
  :return portlist {list} 目标进程占用的端口列表
 """
 cmd = 'wmic process where caption="%s" get commandline /value' % program
 ps = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True)
 portlist = []
 while True:
  out = ps.stdout.readline()
  if out:
   out = out.decode("gb2312")
   templist = re.findall("[0-9]{4,5}", out)
   portlist.extend(templist)
  else:
   break
 return portlist

使用监控后发现SVN服务不意外关闭了,但是SVN程序被访问久了占用过大内存需要监控一下借助psutil来实现;

def howmuch_memory(program):
 """
  监控目标进程内存是否超过阀值,若超过则关闭
 """
 cmd = 'wmic process where caption="%s" get processid /value' % program
 ps = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True)
 pids = []
 while True:
  out = ps.stdout.readline()
  if out:
   out = out.decode("gb2312")
   templist = re.findall("[0-9]{3,6}", out)
   pids.extend(templist)
  else:
   break
 for pid in pids:
  try:
   p = psutil.Process(int(pid))
   p_memory = p.memory_info()
   if int(p_memory.rss / (1024 * 1024)) >= 200:
    p.kill()
  except Exception as e:
   print("出现如下错误:{0}".format(e))
   continue

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现读取目录所有文件的文件名并保存到txt文件代码
Nov 22 Python
简单介绍Python中的RSS处理
Apr 13 Python
Python实现数通设备端口使用情况监控实例
Jul 15 Python
设计模式中的原型模式在Python程序中的应用示例
Mar 02 Python
Python调用C++程序的方法详解
Jan 24 Python
Python多线程处理实例详解【单进程/多进程】
Jan 30 Python
判断python对象是否可调用的三种方式及其区别详解
Jan 31 Python
django ManyToManyField多对多关系的实例详解
Aug 09 Python
Flask框架路由和视图用法实例分析
Nov 07 Python
python集成开发环境配置(pycharm)
Feb 14 Python
基于Python脚本实现邮件报警功能
May 20 Python
用 python 进行微信好友信息分析
Nov 28 Python
python检测主机的连通性并记录到文件的实例
Jun 21 #Python
Python基于xlrd模块操作Excel的方法示例
Jun 21 #Python
python实现自动发送报警监控邮件
Jun 21 #Python
Python中list查询及所需时间计算操作示例
Jun 21 #Python
python监控文件并且发送告警邮件
Jun 21 #Python
python3实现磁盘空间监控
Jun 21 #Python
Python实现的远程登录windows系统功能示例
Jun 21 #Python
You might like
PHP数组操作――获取数组最后一个值的方法
2015/04/14 PHP
php实现的数字验证码及数字运算验证码
2015/07/30 PHP
PHP实现留言板功能的详细代码
2017/03/25 PHP
php 数组元素快速去重
2017/05/05 PHP
PHP判断一个数组是另一个数组子集的方法详解
2017/07/31 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
2017/12/25 PHP
php学习笔记之mb_strstr的基本使用
2018/02/03 PHP
JavaScript 继承使用分析
2011/05/12 Javascript
js左右弹性滚动对联广告代码分享
2014/02/19 Javascript
JS图片无缝、平滑滚动代码
2014/03/11 Javascript
jQuery实现ichat在线客服插件
2014/12/29 Javascript
jQuery中closest()函数用法实例
2015/01/07 Javascript
JavaScript常用脚本汇总(二)
2015/03/04 Javascript
jquery判断密码强度的验证代码
2020/04/22 Javascript
JavaScript判断微信浏览器实例代码
2016/06/13 Javascript
jQueryUI Datepicker组件设置日期高亮
2016/10/13 Javascript
jQuery动态追加页面数据以及事件委托详解
2017/05/06 jQuery
Angularjs添加排序查询功能的实例代码
2017/10/24 Javascript
前端axios下载excel文件(二进制)的处理方法
2018/07/31 Javascript
js实现unicode码字符串与utf8字节数据互转详解
2019/03/21 Javascript
[03:56]DOTA2完美大师赛趣味视频之小鸽子和Mineski打台球
2017/11/24 DOTA
Python生成随机数的方法
2014/01/14 Python
用python登录Dr.com思路以及代码分享
2014/06/25 Python
Python对象体系深入分析
2014/10/28 Python
Python实现对PPT文件进行截图操作的方法
2015/04/28 Python
python中getaddrinfo()基本用法实例分析
2015/06/28 Python
Python下简易的单例模式详解
2019/04/08 Python
python3实现二叉树的遍历与递归算法解析(小结)
2019/07/03 Python
使用Python内置模块与函数进行不同进制的数的转换
2020/04/26 Python
美国一家主营日韩美妆护肤品的在线商店:iMomoko
2016/09/11 全球购物
英国假发网站:Hothair
2018/02/23 全球购物
学前教育专业毕业生自荐信
2013/10/03 职场文书
金融行业务员的自我评价
2013/12/13 职场文书
公司感恩节活动策划书
2014/10/11 职场文书
说谎欺骗人检讨书300字
2014/11/18 职场文书
2015年公司国庆放假通知
2015/07/30 职场文书