使用vbs腳本來監(jiān)控windows服務(wù)器上的應(yīng)用程序(不存在就啟動)
這個vbs代碼主要實現(xiàn)的功能就是運行該程序,就會在進(jìn)程中出現(xiàn)一個wscript.exe 它會每隔10s掃面一次進(jìn)程中是否存在notepad.exe這個程序,不存在就啟動。這個啟動程序可能跟進(jìn)程名不一樣,好比tomcat應(yīng)用,啟動的是startup.bat,后臺進(jìn)程名為java.exe,這樣就需要調(diào)整代碼proname="java.exe"
關(guān)于如果關(guān)掉監(jiān)控 可以在運行下執(zhí)行taskkill /f /im wscript.exe 或者在任務(wù)管理器 進(jìn)程中找到wscript.exe 結(jié)束進(jìn)程就可以了
調(diào)整WshShell.Run("startup.bat")
核心代碼
dim wmi,proc,procs,proname,flag,WshShell
Do
proname="notepadjb51.exe" '需要監(jiān)測的服務(wù)進(jìn)程的名稱,自行替換這里的記事本進(jìn)程名
set wmi=getobject("winmgmts:{impersonationlevel=impersonate}!\.rootcimv2")
set procs=wmi.execquery("select * from win32_process")
flag=true
for each proc in procs
if strcomp(proc.name,proname)=0 then
flag=false
exit for
end if
next
set wmi=nothing
if flag then
Set WshShell = Wscript.CreateObject("Wscript.Shell")
WshShell.Run ("notepadjb51.exe")
end if
wscript.sleep 10000 '檢測間隔時VBS寫個小腳本 實時監(jiān)測指定程序是否運行 對運行的軟件進(jìn)行操作 最后關(guān)閉運行軟件
strComputer = "."
Set objShell = CreateObject("Wscript.Shell")
do
Set wbemServices = Getobject("winmgmts:\\" & strComputer)
Set wbemObjectSet = wbemServices.InstancesOf("Win32_process")
For Each wbemObject In wbemObjectSet
if wbemObject.name="QQ.exe" then
WScript.Sleep 1000
objShell.SendKeys "{F12}"
WScript.Sleep 1000
objShell.SendKeys "{ENTER}"
dim WSHshell
set WSHshell = wscript.createobject("wscript.shell")
WSHshell.run "taskkill /im wscript.exe /f ",0 ,true
end if
Next
loop批處理檢測進(jìn)程是否存在;這個我用來檢測文化進(jìn)程是否存在,因為是綠色版的,很容易被關(guān)閉,所以需要檢測。
tasklist /nh|find /i "ClientOfWatcher.exe" if ERRORLEVEL 1 (start C:\watcher\ClientOfWatcher.exe) else (exit)
VBS定時檢測進(jìn)程是否存在,如果不存在就啟動進(jìn)程。
option Explicit
dim wmi,proc,procs,proname,flag,WshShell
Do
proname="ClientOfWatcher.exe" '需要監(jiān)測的服務(wù)進(jìn)程的名稱,自行替換這里的記事本進(jìn)程名
set wmi=getobject("winmgmts:{impersonationlevel=impersonate}!\\.\root\cimv2")
set procs=wmi.execquery("select * from win32_process")
flag=true
for each proc in procs
if strcomp(proc.name,proname)=0 then
flag=false
exit for
end if
next
set wmi=nothing
if flag then
Set WshShell = Wscript.CreateObject("Wscript.Shell")
WshShell.Run ("C:\Watcher\ClientOfWatcher.exe")
end if
wscript.sleep 50000 '檢測間隔時間,這里是50秒
loop關(guān)于vbs系統(tǒng)運行后,系統(tǒng)進(jìn)程中產(chǎn)生大量wscript.exe
taskkill /IM wscript.exe /F taskkill /IM cscript.exe /F taskkill /IM consent.exe /F taskkill /IM ChsIME.exe /F
所有建議服務(wù)器上運行vbs后,如果出現(xiàn)大量wscript.exe進(jìn)程,可以加上下面的命令
dim WSHshell
set WSHshell = wscript.createobject("wscript.shell")
WSHshell.run "taskkill /im wscript.exe /f ",0 ,true到此這篇關(guān)于使用vbs腳本來監(jiān)控windows服務(wù)器上的應(yīng)用程序(不存在就啟動)的文章就介紹到這了,更多相關(guān)vbs守衛(wèi)進(jìn)程內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- VBS進(jìn)程判斷代碼
- 殺死指定進(jìn)程名稱的小VBS
- vbs枚舉進(jìn)程 vbs列出進(jìn)程的詳細(xì)列表
- VBScript 監(jiān)控并結(jié)束指定進(jìn)程的代碼
- 用VBS實現(xiàn)監(jiān)視進(jìn)程創(chuàng)建與刪除的代碼
- 利用vbs寫的延時關(guān)閉ie進(jìn)程的腳本代碼
- 進(jìn)程監(jiān)控實現(xiàn)代碼[vbs+bat]
- ProcessMagnifier.vbs進(jìn)程查看
- 用vbs實現(xiàn)的瞬間關(guān)閉多個系統(tǒng)進(jìn)程的腳本
- 用vbs實現(xiàn)的強制殺進(jìn)程的腳本
- vbs輸入助手執(zhí)行會調(diào)用好多亂的進(jìn)程
- 用VBS實現(xiàn)腳本結(jié)束進(jìn)程與防止進(jìn)程啟動
- 多進(jìn)程的實現(xiàn)投票的vbs腳本
- 多進(jìn)程的vbs腳本
相關(guān)文章
使用VBS實現(xiàn)Hosts文件一鍵配置實現(xiàn)代碼
hosts文件存儲了IP地址與域名的映射。因為有的時候需要經(jīng)常性地配置hosts文件,因此這段時間我琢磨了一套傻瓜化的hosts文件配置方案,記錄如下2019-09-09
如何通過計劃任務(wù)調(diào)用QuickTest測試腳本
如何通過計劃任務(wù)調(diào)用QuickTest測試腳本...2007-03-03
Wscript 和 Cscript 運行腳本的區(qū)別詳解
WSCRIPT與CScript的主要區(qū)別在于WSCRIPT窗口中運行返回對話框,而CScrip在命令行中運行,一般不需要特別注明,程序會提示2014-06-06
使用VBS修改二進(jìn)制文件HEX數(shù)據(jù)
利用VBS修改二進(jìn)制文件HEX數(shù)據(jù)。第一個參數(shù)為原文件,第二個參數(shù)為修改后的文件,第三個參數(shù)為原HEX值,第四個參數(shù)為修改后的HEX值2013-07-07

