1. 程式人生 > >根據進程名監控進程(郵件提醒)

根據進程名監控進程(郵件提醒)

每次 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 ...")

完畢!

根據進程名監控進程(郵件提醒)