根據進程名監控進程(郵件提醒)
阿新 • • 發佈:2018-02-07
每次 for mtp 提醒 pause print highlight orm light
背景:在window server系統中的進行監控udp端口的時候發現, 每次進程重啟後端口都會發生變化,於是嘗試放棄監控端口改用監控進程名的想法。
bat
::Final interpretation is owned by chenglee ::Thankyou ::溫馨提示:如果放在win啟動計劃中,如需要就開啟第六行代碼, ::作用是檢測完馬上自動關閉檢測腳本待下次運行, 如果不開啟就是檢測完停留等待手動關閉, ::作用:窗口疊加 ::@echo off<nul 3>nul @echo off&title Checking For System, Do Not Switch Off, Thankyou... set num=QQ.exe for /f "tokens=1 delims=: " %%a in (‘tasklist‘) do ( if "%%a"=="%num%" goto en ) if not "%%a"=="%num%" goto en1 :en echo.Checking For local%NUM%Process is Opening... pause exit :en1 echo.Checking For local%NUM%Process is Not Opening... echo.send mail for chenglee python mail.py pause exit
第8行:設置進程名
第9行:
‘tasklist‘,列出本系統所在運行的所有進程
‘tokens‘,需要掃描的列(我這裏掃第1列)
第10行:判斷掃描列表中的內容是否與我第8行設定的num一致, 一致的話跑下面的:en段
第12行:判斷掃描列表中的內容是否與我第8行設定的num一致, 不一致的話跑下面的:en1段
第23行:已經發現程序不在了, 調用python腳本進程郵件提醒
mail.py
import smtplib from email.mime.text import MIMEText from email.utils import formataddr my_sender=‘[email protected]‘ my_pass = ‘wkzbchff‘ my_user=‘[email protected]‘ my_context=‘測試監控進程操作‘ my_title=‘來自服務器的信息‘ my_chengname=‘chenglee監控‘ def mail(): ret=True try: msg=MIMEText(my_context,‘plain‘,‘utf-8‘) msg[‘From‘]=formataddr([my_chengname,my_sender]) msg[‘To‘]=formataddr(["收件人昵稱",my_user]) msg[‘Subject‘]=my_title server=smtplib.SMTP_SSL("smtp.qq.com", 465) server.login(my_sender, my_pass) server.sendmail(my_sender,[my_user,],msg.as_string()) server.quit() except Exception: ret=False return ret ret=mail() if ret: print("Mail send is ok ...") else: print("Mail send is error ...")
完畢!
根據進程名監控進程(郵件提醒)