监控程序进程的VBS脚本

简介:
监控计算器程序是否处于运行状态,只需更改testString常量的值,就可以通过自己的邮箱知道该程序目前的运行状况。
Option Explicit

Dim flag

const testString="calc"

Set shell = CreateObject("wscript.shell")
Set tasklist=shell.exec("cmd /c tasklist.exe > c:\vbs\tasklist.txt")

WScript.Sleep 1000

Set fso = CreateObject("Scripting.FileSystemObject")
Set stream = fso.OpenTextFile("c:\vbs\tasklist.txt")
Do While Not stream.AtEndOfStream
   str=stream.ReadLine
   If Len(Trim(str))>0 Then process str
Loop
stream.Close

testmail flag


Sub process(str)
     If InStr(1,str,testString,1)<>0 Then
        flag=1
     End If
     
End Sub



Sub testmail(c)

Dim sender,recipient,relayserver,msg,nfiles,conf,arg,prefix,send_errno,plural,connectiontimeout

'If WScript.Arguments.count<=0 Then
    'MsgBox"Usage: mailfiles filename..., or drag files onto shortcut"
    'WScript.Quit 0
'End If

Const cdoSendUsingPort=2
Const cdoAnonymous=1
Const serverport=25
Const sendusername="abc"
Const sendpassword="123456"

sender="abc@126.com"
recipient="efg@gmail.com"
relayserver="smtp.126.com"

Set msg=CreateObject("cdo.message")
Set conf=CreateObject("cdo.configuration")
Set msg.Configuration=conf

If c=1 then
With msg 
     .To=recipient
     .From=sender
     .Subject="Program is runing"
     .TextBody=testString & " is running"
     
     nfiles=0
     For Each arg In WScript.Arguments
         .AddAttachment arg
         nfiles=nfiles+1
     Next
End With
Else
With msg 
     .To=recipient
     .From=sender
     .Subject="Program is closed"
     .TextBody=testString & " is closed"
     
     nfiles=0
     For Each arg In WScript.Arguments
         .AddAttachment arg
         nfiles=nfiles+1
     Next
End With
shell.exec("c:\windows\system32\calc.exe")
End If
 

prefix="http://schemas.microsoft.com/cdo/configuration/"
With conf.Fields
     .Item(prefix&"sendusing")=cdosendusingport
     .Item(prefix&"smtpserver")=relayserver
     .Item(prefix&"smtpserverport") = serverport
     .Item(prefix&"smtpauthenticate")=cdoAnonymous
     .item(prefix&"smtpconnectiontimeout") = connectiontimeout
     .Item(prefix&"sendusername")=sendusername
     .Item(prefix&"sendpassword")=sendpassword
     .Update
End With

On Error Resume Next
msg.Send
'send_errno=""
'send_errno=Err.Number
'On Error Goto 0
'If send_errno<>0 Then
   'MsgBox "error sending message" & "  " & Err.Number & "  " & Err.Description
'Else
   'If nfiles=1 Then plural="" Else plural="s"
   'MsgBox "Sent" & nfiles & " file" & plural & " to " & recipient
'End If

End Sub



      本文转自daniel8294 51CTO博客,原文链接:http://blog.51cto.com/acadia627/947785,如需转载请自行联系原作者


相关文章
|
3月前
|
监控 Ubuntu API
Python脚本监控Ubuntu系统进程内存的实现方式
通过这种方法,我们可以很容易地监控Ubuntu系统中进程的内存使用情况,对于性能分析和资源管理具有很大的帮助。这只是 `psutil`库功能的冰山一角,`psutil`还能够提供更多关于系统和进程的详细信息,强烈推荐进一步探索这个强大的库。
46 1
|
7月前
|
Shell Linux 开发工具
linux shell脚本利用 kill -0 检查进程是否存在
linux shell脚本利用 kill -0 检查进程是否存在
228 1
|
5月前
|
运维 Python Windows
如何通过Python脚本查找并终止占用指定端口的进程
在日常的开发和运维过程中,某些端口被意外占用是一个常见的问题。这种情况可能导致服务无法启动或冲突。本文将介绍如何通过Python脚本查找并终止占用指定端口的进程,以确保系统的正常运行。
|
5月前
|
Java Shell
通过端口杀掉进程的脚本
通过端口杀掉进程的脚本
34 0
|
7月前
|
Java Shell
通过端口杀掉进程的脚本
通过端口杀掉进程的脚本
41 0
|
7月前
|
监控
一个进程监控脚本程序
一个进程监控脚本程序
29 0
|
7月前
|
Shell Linux
Linux脚本Shell脚本来实现一次性kill多个端口的进程
Linux脚本Shell脚本来实现一次性kill多个端口的进程
90 0
|
开发工具
为root用户编写登录欢迎脚本,报告当前主机中的进程数、已登录用户数、根文件系统的磁盘使用率
为root用户编写登录欢迎脚本,报告当前主机中的进程数、已登录用户数、根文件系统的磁盘使用率
161 0
|
7月前
|
监控 Python Windows
使用python脚本来监控进程
使用python脚本来监控进程
|
7月前
|
Unix Shell Linux
shell脚本中创建子进程
shell脚本中创建子进程
367 2