主页 > 知识库 > python使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警

python使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警

热门标签:江门智能电话机器人 地图标注可以远程操作吗 滴滴地图标注公司 智能电话机器人调研 天津塘沽区地图标注 甘肃高频外呼系统 400电话在线如何申请 如何申请400电话代理 杭州房产地图标注

    使用Windows的wmic命令,获取可执行文件的运行状况、文件路径、PID,如果可执行文件挂掉,就重启并邮件告警。

      因为监控的可执行文件的文件名一样,不好区分,所以我使用文件的绝对路径为标准来判断是否正常运行,代码及详细解释如下:

# -*- coding: utf-8 -*- 
import os
import win32api
import smtplib
from email.mime.text import MIMEText


def get_pidWay(file_name):
  ept_list = []
  temp_list = []
  pid_way = os.popen("wmic process where name='" + file_name + "' get processid,executablepath,name").readlines()
  for j in pid_way:
    temp_list.append(j.split())
  while ept_list in temp_list:
    temp_list.remove(ept_list)
  return(temp_list)
 
def open_file(filePath):
  win32api.ShellExecute(0, 'open', filePath, '','',1)

def mailsend (mailtext,mailsubject):
  mailserver = "smtp.qq.com"
  username_send = '发送的邮箱地址'
  password = '密码'
  username_recv = '接收的邮箱地址'
  mail = MIMEText(mailtext)
  mail['Subject'] = mailsubject
  mail['From'] = username_send
  mail['To'] = username_recv
  smtp = smtplib.SMTP_SSL(mailserver)
  smtp.login(username_send,password)
  smtp.sendmail(username_send,username_recv,mail.as_string())
  smtp.quit()
  print ('success')
  


file_path = "可执行文件的绝对路径"
fileName = '可执行文件名'
mailtext = '报警邮件内容'
mailsubject = '报警邮件标题'
exe_info = get_pidWay(fileName)
pos = 0
for i in range(len(exe_info)):
  if file_path in exe_info[i][0]:
    pos = 1
  else:
    pass

if pos == 1:
  pass
else:
  open_file(r"可执行文件名")
  mailsend(mailtext,mailsubject)

1.get_pidWay函数:

  输入file_name,返回文件路径、文件名、文件Pid的列表,用split函数和ept_list字符串使返回的列表变成[[文件路径,文件名,Pid],[文件路径,文件名,Pid]]这样的二维数组;

2.open_file函数:

  使用win32api模块,类似在cmd中执行程序,打开指定的可执行文件;

3.mailsend函数:

  发送邮件,我用的qq的smtp模块,在qq邮箱的设置里可以开启smtp端口;

  username_send发送邮件的邮箱地址,password是开启smtp端口时弹出的字符串;

  username_recv收邮件的邮箱地址;

  在内网要采用smtplib.SMTP_SSL(mailserver)连接(其中mailserver= ‘smtp.qq.com'),使用smtp = smtplib.SMTP(mailserver,port=465)方式会报错:smtplib.SMTPServerDisconnected: Connection unexpectedly closed

4.主函数:

  file_path :放置可执行文件的目录;

  fileName:可执行文件的文件名;

  for循环来判断file_path是否在我们 get_pidWay函数返回的列表中,从而知道可执行文件是否正常运行;

  如果没有运行,pos = 0,则运行文件、发送邮件。

以上就是python使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警的详细内容,更多关于python wmic命令监控文件运行状况的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
  • python实现自动化办公邮件合并功能
  • Python利用机器学习算法实现垃圾邮件的识别
  • Python 发送SMTP邮件的简单教程
  • Python一行代码实现自动发邮件功能
  • Python基础详解之邮件处理
  • Python 调用API发送邮件
  • Python基于SMTP发送邮件的方法
  • python基于SMTP发送QQ邮件
  • python 自动监控最新邮件并读取的操作
  • python实现发送邮件
  • python 实现网易邮箱邮件阅读和删除的辅助小脚本
  • python如何发送带有附件、正文为HTML的邮件
  • 用python监控服务器的cpu,磁盘空间,内存,超过邮件报警
  • python邮件中附加文字、html、图片、附件实现方法
  • Python用20行代码实现完整邮件功能

标签:廊坊 重庆 临汾 东莞 德宏 长春 河池 汉中

巨人网络通讯声明:本文标题《python使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警》,本文关键词  python,使用,Windows,的,wmic,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《python使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警》相关的同类信息!
  • 本页收集关于python使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警的相关信息资讯供网民参考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推荐文章