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读写excel的方法
Nov 18 Python
详解Python核心对象类型字符串
Feb 11 Python
如何用Python合并lmdb文件
Jul 02 Python
Python实现的特征提取操作示例
Dec 03 Python
Python 实现遥感影像波段组合的示例代码
Aug 04 Python
Python 图像对比度增强的几种方法(小结)
Sep 25 Python
python flask搭建web应用教程
Nov 19 Python
Python configparser模块操作代码实例
Jun 08 Python
python怎么判断素数
Jul 01 Python
Python自带的IDE在哪里
Jul 01 Python
五分钟带你搞懂python 迭代器与生成器
Aug 30 Python
详解python中的异常捕获
Dec 15 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下检测字符串是否是utf8编码的代码
2008/06/28 PHP
php中计算程序运行时间的类代码
2012/11/03 PHP
浅析PKI加密解密 OpenSSL
2013/07/01 PHP
PHP SOCKET编程详解
2015/05/22 PHP
用Javascript读取中文COOKIE的解决办法
2007/02/15 Javascript
javascript打开新窗口同时关闭旧窗口
2009/01/16 Javascript
优化 JavaScript 代码的方法小结
2009/07/16 Javascript
JQuery.closest(),parent(),parents()寻找父结点
2012/02/17 Javascript
jquery动态添加删除div 具体实现
2013/07/20 Javascript
用js的for循环获取radio选中的值
2013/10/21 Javascript
Javascript动态引用CSS文件的2种方法介绍
2014/06/06 Javascript
浅谈Javascript Base64 加密解密
2014/12/28 Javascript
js实现class样式的修改、添加及删除的方法
2015/01/20 Javascript
javascript中 try catch用法
2015/08/16 Javascript
分享Javascript实用方法二
2015/12/13 Javascript
Vuejs第六篇之Vuejs与form元素实例解析
2016/09/05 Javascript
微信小程序 websocket 实现SpringMVC+Spring+Mybatis
2017/08/04 Javascript
JS运动改变单物体透明度的方法分析
2018/01/23 Javascript
Vue.js项目实战之多语种网站的功能实现(租车)
2019/08/07 Javascript
[02:25]DOTA2英雄基础教程 生死判决瘟疫法师
2013/12/06 DOTA
python中文乱码不着急,先看懂字节和字符
2017/12/20 Python
Python进阶之尾递归的用法实例
2018/01/31 Python
Python cookbook(字符串与文本)在字符串的开头或结尾处进行文本匹配操作
2018/04/20 Python
python中的decorator的作用详解
2018/07/26 Python
浅谈python写入大量文件的问题
2018/11/09 Python
opencv实现图片模糊和锐化操作
2018/11/19 Python
Python 带有参数的装饰器实例代码详解
2018/12/06 Python
Python3.9又更新了:dict内置新功能
2020/02/28 Python
Python高阶函数与装饰器函数的深入讲解
2020/11/10 Python
英国奢华护肤、美容和Spa品牌:Temple Spa
2019/11/02 全球购物
文明餐桌活动方案
2014/02/11 职场文书
市场营销求职信范文
2014/02/21 职场文书
运动会开幕式主持词
2014/03/28 职场文书
幼儿园老师寄语
2014/04/03 职场文书
go select编译期的优化处理逻辑使用场景分析
2021/06/28 Golang
一篇文章带你复习java知识点
2021/06/28 Java/Android