VBS脚本持续监测进程是否存在,不存在就启动该进程 —— 定时执行专家

文章提供了一个VBScript脚本【mon-proc.vbs】,用于监测指定进程(如notepad.exe)是否存在。如果进程不存在,脚本会启动它。通过结合‘定时执行专家’,可以设置间隔触发器(如每5分钟)来周期性检查目标进程,确保其持续运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

【需求的背景】

【如何循环监测】


【需求的背景】

需要一个vbs脚本来监测进程(例如:notepad.exe)是否存在。需要间隔一段时间来检查该进程是否存在。如果进程存在,脚本应该不执行任何操作。如果进程不存在,脚本会启动该程序。

以下是一个vbs脚本【mon-proc.vbs】的示例,它可以监测进程是否存在:

''
'' author: boomwxsoft/boomworks
'' 15:44 2023/4/13
'' 
'' usage: need two parameters, ex: "TimingExecutor.exe" "C:\TmExec\TimingExecutor.exe"
''

Dim objArgs
Set objArgs = WScript.Arguments

Dim processName
Dim processPath

processName = objArgs.Item(0)
processPath = objArgs.Item(1)

Set WshShell = WScript.CreateObject("WScript.Shell")
If Not ProcessExists(processName) Then
    WshShell.Run processPath
End If

Function ProcessExists(processName)
    Dim objWMIService, colProcesses, objProcess
    Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
    Set colProcesses = objWMIService.ExecQuery("Select * from Win32_Process Where Name ='" & processName & "'")
    If colProcesses.Count > 0 Then
        ProcessExists = True
    Else
        ProcessExists = False
    End If
End Function

在上面这个示例中,脚本会检查是否有名为“参数1”的进程正在运行。如果没有,则会打开“参数2”的程序(例如:notepad.exe)。

【如何循环监测】

需要上面的vbs脚本和“定时执行专家”配合使用。可以使用“定时执行专家”的【执行脚本或程序】来执行vbs脚本;触发器设置【间隔】触发器,本例子采用间隔5分钟方式触发vbs脚本任务的执行。

设置步骤:

1、新建”定时执行专家“的【执行脚本和程序】任务,选择上面的脚本文件【mon-proc.vbs】;

2、填写两个参数,参数间用空格隔开;

3、设置【间隔时间】触发器,例如:5分钟,见下图。

(图1-1,定时执行专家 - 执行vbs脚本) 

请注意,你需要将“notepad.exe”替换为你想要监测的进程的名称。

// END

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值