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实现发送email的几种常用方法
Aug 18 Python
python实现在无须过多援引的情况下创建字典的方法
Sep 25 Python
用Python实现通过哈希算法检测图片重复的教程
Apr 02 Python
详解Python异常处理中的Finally else的功能
Dec 29 Python
使用Python从零开始撸一个区块链
Mar 14 Python
Django框架实现的普通登录案例【使用POST方法】
May 15 Python
django-allauth入门学习和使用详解
Jul 03 Python
详解python中的模块及包导入
Aug 30 Python
对pytorch的函数中的group参数的作用介绍
Feb 18 Python
Keras 中Leaky ReLU等高级激活函数的用法
Jul 05 Python
Python jiaba库的使用详解
Nov 23 Python
python使用shell脚本创建kafka连接器
Apr 29 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
自制短波长线天线频率预选器 - 成功消除B2K之流的镜像
2021/03/02 无线电
PHP 常见郁闷问题答解
2006/11/25 PHP
PHP循环语句笔记(foreach,list)
2011/11/29 PHP
PHP截断标题且兼容utf8和gb2312编码
2013/09/22 PHP
PHP实现图片上传并压缩
2015/12/22 PHP
thinkphp Apache配置重启Apache1 restart 出错解决办法
2017/02/15 PHP
PHP一个简单的无需刷新爬虫
2019/01/05 PHP
JS 动态加载脚本的4种方法
2009/05/05 Javascript
JavaScript 字符串与数组转换函数[不用split与join]
2009/12/13 Javascript
JSON.parse 解析字符串出错的解决方法
2010/07/08 Javascript
JavaScript性能优化 创建文档碎片(document.createDocumentFragment)
2010/07/13 Javascript
每天一篇javascript学习小结(面向对象编程)
2015/11/20 Javascript
基于JS实现的笛卡尔乘积之商品发布
2016/05/13 Javascript
利用iscroll4实现轮播图效果实例代码
2017/01/11 Javascript
Angular开发者指南之入门介绍
2017/03/05 Javascript
Vue编写多地区选择组件
2017/08/21 Javascript
AngularJS路由删除#符号解决的办法
2017/09/28 Javascript
JS实现点击按钮可实现编辑功能
2018/07/03 Javascript
JS中的算法与数据结构之链表(Linked-list)实例详解
2019/08/20 Javascript
vue.js自定义组件实现v-model双向数据绑定的示例代码
2020/01/08 Javascript
javascript运行机制之执行顺序理解
2020/08/03 Javascript
python实现在windows下操作word的方法
2015/04/28 Python
Python Sqlite3以字典形式返回查询结果的实现方法
2016/10/03 Python
django admin添加数据自动记录user到表中的实现方法
2018/01/05 Python
解决pyshp UnicodeDecodeError的问题
2019/12/06 Python
windows10在visual studio2019下配置使用openCV4.3.0
2020/07/14 Python
泰国折扣酒店预订:Hotels2Thailand
2018/03/20 全球购物
国家地理在线商店:Shop National Geographic
2018/06/30 全球购物
英国文具、办公用品和科技商店:Ryman
2018/09/27 全球购物
工艺工程师工作职责
2013/11/23 职场文书
咖啡店自主创业商业计划书
2014/01/22 职场文书
彩色的翅膀教学反思
2014/04/25 职场文书
群众路线教育党员自我剖析材料
2014/10/06 职场文书
世界红十字日活动总结
2015/02/10 职场文书
三好学生主要事迹怎么写
2015/11/03 职场文书
Python使用DFA算法过滤内容敏感词
2022/04/22 Python