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并发编程之多进程、多线程、异步和协程详解
Oct 28 Python
python妙用之编码的转换详解
Apr 21 Python
详谈pandas中agg函数和apply函数的区别
Apr 20 Python
pyspark操作MongoDB的方法步骤
Jan 04 Python
PyCharm 设置SciView工具窗口的方法
Jan 15 Python
详解Python sys.argv使用方法
May 10 Python
pandas条件组合筛选和按范围筛选的示例代码
Aug 26 Python
Python 单例设计模式用法实例分析
Sep 23 Python
python 爬虫 实现增量去重和定时爬取实例
Feb 28 Python
python实现发送QQ邮件(可加附件)
Dec 23 Python
python多线程爬取西刺代理的示例代码
Jan 30 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
后宫无数却洁身自好的男主,唐三只爱小舞
2020/03/02 国漫
在字符串中把网址改成超级链接
2006/10/09 PHP
解析获取优酷视频真实下载地址的PHP源代码
2013/06/26 PHP
php class类的用法详细总结
2013/10/17 PHP
WordPress中用于获取文章作者与分类信息的方法整理
2015/12/17 PHP
Yii2中YiiBase自动加载类、引用文件方法分析(autoload)
2016/07/25 PHP
PHP date()格式MySQL中插入datetime方法
2019/01/29 PHP
利用404错误页面实现UrlRewrite的实现代码
2008/08/20 Javascript
Prototype源码浅析 String部分(三)之HTML字符串处理
2012/01/15 Javascript
jQuery插件原来如此简单 jQuery插件的机制及实战
2012/02/07 Javascript
jquery实现可点击伸缩与展开的菜单效果代码
2015/08/31 Javascript
Node.js 日志处理模块log4js
2016/08/28 Javascript
Angular2平滑升级到Angular4的步骤详解
2017/03/29 Javascript
jquery 实现拖动文件上传加载进度条功能
2018/03/18 jQuery
vue实现动态显示与隐藏底部导航的方法分析
2019/02/11 Javascript
vue和better-scroll实现列表左右联动效果详解
2019/04/29 Javascript
Vue项目中配置pug解析支持
2019/05/10 Javascript
在LayUI图片上传中,解决由跨域问题引起的请求接口错误的方法
2019/09/24 Javascript
webpack4 optimization使用总结
2019/11/10 Javascript
Node在Controller层进行数据校验的过程详解
2020/08/28 Javascript
[05:14]辉夜杯主赛事第二日 RECAP精彩回顾
2015/12/27 DOTA
让Python更加充分的使用Sqlite3
2017/12/11 Python
python实现两个dict合并与计算操作示例
2019/07/01 Python
ansible动态Inventory主机清单配置遇到的坑
2020/01/19 Python
彻底弄明白CSS3的Media Queries(跨平台设计)
2010/07/27 HTML / CSS
德国家具在线:Fashion For Home
2017/03/11 全球购物
大二自我鉴定
2014/01/31 职场文书
晨会主持词
2014/03/17 职场文书
自强自立美德少年事迹材料
2014/08/16 职场文书
奥巴马当选演讲稿
2014/09/10 职场文书
工作犯错保证书
2015/05/11 职场文书
2015年基层党支部工作总结
2015/05/21 职场文书
工程移交协议书
2016/03/24 职场文书
创业计划书之旅游网站
2019/09/06 职场文书
苹果电脑mac os中货币符号快捷输入
2022/02/17 杂记
golang连接MySQl使用sqlx库
2022/04/14 Golang