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绘图库Matplotlib的安装
Jul 03 Python
python实现在控制台输入密码不显示的方法
Jul 02 Python
Python随机读取文件实现实例
May 25 Python
python数据类型判断type与isinstance的区别实例解析
Oct 31 Python
Django实战之用户认证(初始配置)
Jul 16 Python
Python 使用PIL中的resize进行缩放的实例讲解
Aug 03 Python
python适合人工智能的理由和优势
Jun 28 Python
解决Python中pandas读取*.csv文件出现编码问题
Jul 12 Python
Python 用matplotlib画以时间日期为x轴的图像
Aug 06 Python
关于PyTorch 自动求导机制详解
Aug 18 Python
Python下划线5种含义代码实例解析
Jul 10 Python
python获取系统内存占用信息的实例方法
Jul 17 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表单递交控件名称含有点号(.)会被转化为下划线(_)的处理方法
2013/01/06 PHP
解决php使用异步调用获取数据时出现(错误c00ce56e导致此项操作无法完成)
2013/07/03 PHP
extjs 学习笔记(一) 一些基础知识
2009/10/13 Javascript
使用JavaScript库还是自己写代码?
2010/01/28 Javascript
设为首页加入收藏兼容360/火狐/谷歌/IE等主流浏览器的代码
2013/03/26 Javascript
node.js中的url.format方法使用说明
2014/12/10 Javascript
jquery插件jquery.dragscale.js实现拖拽改变元素大小的方法(附demo源码下载)
2016/02/25 Javascript
Node.js环境下编写爬虫爬取维基百科内容的实例分享
2016/06/12 Javascript
原生JS实现的放大镜效果实例代码
2016/10/15 Javascript
AngularJS过滤器filter用法总结
2016/12/13 Javascript
JS瀑布流实现方法实例分析
2016/12/19 Javascript
vue.js加载新的内容(实例代码)
2017/06/01 Javascript
js实现简易聊天对话框
2017/08/17 Javascript
AngularJs用户登录问题处理(交互及验证、阻止FQ处理)
2017/10/26 Javascript
解决vue的过渡动画无法正常实现问题
2019/10/31 Javascript
微信小程序纯文本实现@功能
2020/04/08 Javascript
vue+AI智能机器人回复功能实现
2020/07/16 Javascript
vue实现选中效果
2020/10/07 Javascript
js获取图片的base64编码并压缩
2020/12/05 Javascript
简单介绍利用TK在Python下进行GUI编程的教程
2015/04/13 Python
python追加元素到列表的方法
2015/07/28 Python
Django的信号机制详解
2017/05/05 Python
Pycharm代码无法复制,无法选中删除,无法编辑的解决方法
2018/10/22 Python
基于Python实现用户管理系统
2019/02/26 Python
python写日志文件操作类与应用示例
2019/07/01 Python
Python 二叉树的层序建立与三种遍历实现详解
2019/07/29 Python
Python aiohttp百万并发极限测试实例分析
2019/10/26 Python
Python类反射机制使用实例解析
2019/12/30 Python
环境科学专业大学生自荐信格式
2013/09/21 职场文书
群众路线剖析材料怎么写
2014/10/09 职场文书
接待员岗位职责
2015/02/13 职场文书
2015年医院保卫科工作总结
2015/07/23 职场文书
入党申请书怎么写?
2019/06/11 职场文书
Python爬虫之爬取二手房信息
2021/04/27 Python
雄兵连:第三季先行图公开,天使恶魔联合,银河之力的新力量
2021/06/11 国漫
基于Redis zSet实现滑动窗口对短信进行防刷限流的问题
2022/02/12 Redis