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多线程编程(一):threading模块综述
Apr 05 Python
Python实现的数据结构与算法之快速排序详解
Apr 22 Python
Python使用lxml模块和Requests模块抓取HTML页面的教程
May 16 Python
python基础教程之分支、循环简单用法
Jun 16 Python
Python 专题三 字符串的基础知识
Mar 19 Python
python记录程序运行时间的三种方法
Jul 14 Python
python中实现指定时间调用函数示例代码
Sep 08 Python
python取代netcat过程分析
Feb 10 Python
深入理解python中sort()与sorted()的区别
Aug 29 Python
python+selenium+chromedriver实现爬虫示例代码
Apr 10 Python
keras自定义回调函数查看训练的loss和accuracy方式
May 23 Python
Python urllib3软件包的使用说明
Nov 18 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判断变量是否为0的方法
2014/02/08 PHP
php分页代码学习示例分享
2014/02/20 PHP
php中time()与$_SERVER[REQUEST_TIME]用法区别
2014/11/19 PHP
PHP实现的比较完善的购物车类
2014/12/02 PHP
PHP序列化/对象注入漏洞分析
2016/04/18 PHP
php微信公众号开发之关键词回复
2018/10/20 PHP
ExtJS 2.0 实用简明教程之布局概述
2009/04/29 Javascript
JavaScript 的方法重载效果
2009/08/07 Javascript
javascript 延迟加载技术(lazyload)简单实现
2011/01/17 Javascript
模拟电子签章盖章效果的jQuery插件源码
2013/06/24 Javascript
如何让DIV可编辑、可拖动示例代码
2013/09/18 Javascript
JavaScript字符串对象toLowerCase方法入门实例(用于把字母转换为小写)
2014/10/17 Javascript
javascript图片延迟加载实现方法及思路
2015/12/31 Javascript
利用vue实现模态框组件
2016/12/19 Javascript
Webpack 4.x搭建react开发环境的方法步骤
2018/08/15 Javascript
vue.extend与vue.component的区别和联系
2018/09/19 Javascript
JavaScript如何获取一个元素的样式信息
2019/07/29 Javascript
NestJs使用Mongoose对MongoDB操作的方法
2021/02/22 Javascript
Python实现对PPT文件进行截图操作的方法
2015/04/28 Python
Python使用pymysql从MySQL数据库中读出数据的方法
2018/07/25 Python
OpenCV 模板匹配
2019/07/10 Python
Python3将jpg转为pdf文件的方法示例
2019/12/13 Python
python+adb+monkey实现Rom稳定性测试详解
2020/04/23 Python
使用SVG实现提示框功能的示例代码
2020/06/05 HTML / CSS
Canvas在超级玛丽游戏中的应用详解
2021/02/06 HTML / CSS
Lacoste美国官网:经典POLO衫品牌
2016/10/12 全球购物
斯凯奇澳大利亚官网:SKECHERS澳大利亚
2018/03/31 全球购物
Hudson Jeans官网:高级精制牛仔裤
2018/11/28 全球购物
荷兰的时尚市场:To Be Dressed
2019/05/06 全球购物
公司中层干部的自我评价分享
2014/03/01 职场文书
医院信息公开实施方案
2014/05/09 职场文书
酒店人事主管岗位职责
2015/04/11 职场文书
2015年企业工作总结范文
2015/04/28 职场文书
离婚起诉书范文2015
2015/05/19 职场文书
优秀共产党员主要事迹材料
2015/11/05 职场文书
python中数组和列表的简单实例
2022/03/25 Python