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中的pprint折腾记
Jan 21 Python
python实现计算倒数的方法
Jul 11 Python
Python的组合模式与责任链模式编程示例
Feb 02 Python
解决python3中自定义wsgi函数,make_server函数报错的问题
Nov 21 Python
Python打印“菱形”星号代码方法
Feb 05 Python
Python实现的FTP通信客户端与服务器端功能示例
Mar 28 Python
python编写简易聊天室实现局域网内聊天功能
Jul 28 Python
Python面向对象之类和对象实例详解
Dec 10 Python
Tensorflow:转置函数 transpose的使用详解
Feb 11 Python
使用Pyhton 分析酒店针孔摄像头
Mar 04 Python
python 实现IP子网计算
Feb 18 Python
Python爬虫设置Cookie解决网站拦截并爬取蚂蚁短租的问题
Feb 22 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 构造函数construct的前下划线是双的_
2009/12/08 PHP
总结PHP中数值计算的注意事项
2016/08/14 PHP
php readfile()修改文件上传大小设置
2017/08/11 PHP
php微信公众号开发之现金红包
2018/04/16 PHP
php-fpm.conf配置文件中文说明详解及重要参数说明
2018/10/10 PHP
仿服务器端脚本方式的JS模板实现方法
2007/04/27 Javascript
JavaScript显示当然日期和时间即年月日星期和时间
2013/10/29 Javascript
深入理解JavaScript系列(45):代码复用模式(避免篇)详解
2015/03/04 Javascript
JavaScript实现动态添加,删除行的方法实例详解
2015/07/02 Javascript
使用CoffeeScrip优美方式编写javascript代码
2015/10/28 Javascript
微信和qq时间格式模板实例详解
2016/10/21 Javascript
百度搜索框智能提示案例jsonp
2016/11/28 Javascript
jQuery 实现图片的依次加载图片功能
2017/07/06 jQuery
js实现会跳动的日历效果(完整实例)
2017/10/18 Javascript
Vue 中批量下载文件并打包的示例代码
2017/11/20 Javascript
bootstrap实现点击删除按钮弹出确认框的实例代码
2018/08/16 Javascript
详解在vue-test-utils中mock全局对象
2018/11/07 Javascript
微信小程序使用map组件实现解析经纬度功能示例
2019/01/22 Javascript
javascript开发实现贪吃蛇游戏
2020/07/31 Javascript
[51:00]Secret vs VGJ.S 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
Python类的定义、继承及类对象使用方法简明教程
2015/05/08 Python
python 捕获 shell/bash 脚本的输出结果实例
2017/01/04 Python
python日志记录模块实例及改进
2017/02/12 Python
python爬取亚马逊书籍信息代码分享
2017/12/09 Python
Python 函数基础知识汇总
2018/03/09 Python
TensorFlow实现模型评估
2018/09/07 Python
使用50行Python代码从零开始实现一个AI平衡小游戏
2018/11/21 Python
Python判断一个文件夹内哪些文件是图片的实例
2018/12/07 Python
python中logging模块的一些简单用法的使用
2019/02/22 Python
Python json模块与jsonpath模块区别详解
2020/03/05 Python
python re的findall和finditer的区别详解
2020/11/15 Python
Ancheer官方户外和运动商店:销售电动自行车
2019/08/07 全球购物
伊莱克斯(Electrolux)俄罗斯网上商店:瑞典家用电器品牌
2021/01/23 全球购物
材料成型专业个人求职信范文
2013/09/25 职场文书
六年级作文之关于梦
2019/10/22 职场文书
Win10 和 Win11可以共存吗? win10/11产品生命周期/服务更新介绍
2021/11/21 数码科技