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基础教程之常用运算符
Aug 29 Python
Python中使用装饰器和元编程实现结构体类实例
Jan 28 Python
Python常用的爬虫技巧总结
Mar 28 Python
web.py 十分钟创建简易博客实现代码
Apr 22 Python
Python将多个excel表格合并为一个表格
Feb 22 Python
Python zip()函数用法实例分析
Mar 17 Python
python中找出numpy array数组的最值及其索引方法
Apr 17 Python
Python中利用aiohttp制作异步爬虫及简单应用
Nov 29 Python
Python decorator拦截器代码实例解析
Apr 04 Python
VS2019+python3.7+opencv4.1+tensorflow1.13配置详解
Apr 16 Python
Python小白学习爬虫常用请求报头
Jun 03 Python
Python 实现微信自动回复的方法
Sep 11 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
overlord人气高涨,却被菲利普频繁举报,第四季很难在国内上映
2020/05/06 日漫
PHP 的几个配置文件函数
2006/12/21 PHP
解析如何去掉CodeIgniter URL中的index.php
2013/06/25 PHP
浅析PHP原理之变量分离/引用(Variables Separation)
2013/08/09 PHP
基于jquery DOM写的类似微博发布的效果
2012/10/20 Javascript
Javascript中克隆一个数组的实现代码
2013/12/06 Javascript
js Array操作的最简短最容易理解方法
2013/12/09 Javascript
jQuery拖拽div实现思路
2014/02/19 Javascript
总结JavaScript中布尔操作符||与&&的使用技巧
2015/11/17 Javascript
node文件上传功能简易实现代码
2017/06/16 Javascript
JavaScript用200行代码制作打飞机小游戏实例
2017/06/21 Javascript
promise处理多个相互依赖的异步请求(实例讲解)
2017/08/03 Javascript
JS图片延迟加载插件LazyImgv1.0用法分析【附demo源码下载】
2017/09/04 Javascript
Node.js引入UIBootstrap的方法示例
2018/05/11 Javascript
vue中的ref和$refs的使用
2018/11/22 Javascript
jQuery简单实现根据日期计算星期几的方法
2019/01/09 jQuery
前端插件之Bootstrap Dual Listbox使用教程
2019/07/23 Javascript
vue项目查看vue版本及cli版本的实现方式
2020/10/24 Javascript
[01:03:38]2014 DOTA2国际邀请赛中国区预选赛5.21 CNB VS CIS
2014/05/22 DOTA
分析python服务器拒绝服务攻击代码
2014/01/16 Python
python 读写、创建 文件的方法(必看)
2016/09/12 Python
Python实现多线程抓取网页功能实例详解
2017/06/08 Python
python opencv实现图片旋转矩形分割
2018/07/26 Python
Python猴子补丁知识点总结
2020/01/05 Python
如何在scrapy中捕获并处理各种异常
2020/09/28 Python
如何查看浏览器对html5的支持情况
2020/12/15 HTML / CSS
蔻驰美国官网:COACH美国
2016/08/18 全球购物
For Art’s Sake官网:手工制作的奢华眼镜
2018/12/15 全球购物
Melissa鞋英国官方网站:Nonnon
2019/05/01 全球购物
Tomcat的缺省是多少,怎么修改
2014/04/09 面试题
运动会通讯稿500字
2014/02/20 职场文书
建议书的格式
2014/05/12 职场文书
校园活动策划方案
2014/06/13 职场文书
python 如何用terminal输入参数
2021/05/25 Python
用Python监控你的朋友都在浏览哪些网站?
2021/05/27 Python
Python实现的扫码工具居然这么好用!
2021/06/07 Python