bat(vbs)批處理實(shí)現(xiàn)Windows環(huán)境下守護(hù)進(jìn)程

[重要通告]如您遇疑難雜癥,本站支持知識(shí)付費(fèi)業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時(shí)間哦!

前幾天大家在群里討論關(guān)于用友U8經(jīng)常掉授權(quán)的事兒,但這只是很單一的說(shuō)法,多數(shù)跟自己的環(huán)境有關(guān)系,但問(wèn)題既然有,大家就想著如何能自動(dòng)啟動(dòng),就有了這篇文章;

這腳本提供兩種方式守護(hù),一種是通過(guò)進(jìn)程名,但對(duì)于進(jìn)程名都是java.exe的java程序不適用;

另一種是通過(guò)netstat查找應(yīng)用程序所監(jiān)聽(tīng)的端口是否正在被監(jiān)聽(tīng)。

這兩種方式可以在腳本中通過(guò)兩個(gè)冒號(hào)注釋來(lái)選擇切換。

下面是設(shè)置成通過(guò)端口來(lái)守護(hù)的,當(dāng)端口沒(méi)被監(jiān)聽(tīng)則打開(kāi)一個(gè)zip文件,所以運(yùn)行后會(huì)發(fā)現(xiàn)沒(méi)過(guò)5秒會(huì)重復(fù)打開(kāi)這個(gè)zip文件,除非這個(gè)zip文件打開(kāi)后會(huì)自動(dòng)監(jiān)聽(tīng)8080端口,那當(dāng)然是不可能的!腳本涉及的命令就不解釋了搜一下就知道了。

@echo off

::檢測(cè)時(shí)間間隔,單位:秒
set _interval=5

::需要守護(hù)的進(jìn)程名稱
set _processName=WinRAR

::需要守護(hù)的進(jìn)程啟動(dòng)命令
set _processCmd=C:\ideavim-0.32.zip

::需要守護(hù)的進(jìn)程預(yù)估啟動(dòng)完畢所需時(shí)間,單位:秒
set _processTimeout=10

::需要守護(hù)的進(jìn)程所監(jiān)聽(tīng)的端口
set _port=8080

::進(jìn)程用戶名,一般是Administrator
set _username=Administrator

:LOOP
set /a isAlive=false

::通過(guò)進(jìn)程名稱檢測(cè)
::tasklist /FI "username eq %_username%" | find /C "%_processName%" > temp.txt
::set /p num= < temp.txt
::del /F temp.txt

::通過(guò)進(jìn)程的端口是否正在被監(jiān)聽(tīng)檢測(cè)
netstat -an | find /C "0.0.0.0:%_port%" > temp.txt
set /p num= < temp.txt
del /F temp.txt

if "%num%" == "0" (
start %_processCmd% | echo 啟動(dòng) %_processName%  %time%
choice /D y /t %_processTimeout% > nul
)

if "%num%" NEQ "0" echo 已啟動(dòng)

::ping -n %_interval% 127.1>nul
choice /D y /t %_interval% >nul

goto LOOP

該腳本運(yùn)行后會(huì)出現(xiàn)一個(gè)dos窗口,若覺(jué)得礙眼可以用記事本將下面保存為擴(kuò)展名為.vbs的文件。其中U8.bat是上面批處理保存的文件名。兩個(gè)文件放在同一目錄下雙擊vbs文件后,守護(hù)進(jìn)程就在后臺(tái)運(yùn)行了,單這樣得通過(guò)資源管理器結(jié)束cmd進(jìn)程才能停止守護(hù)進(jìn)程。

set ws=WScript.CreateObject("WScript.Shell")
ws.Run "U8.bat",0

問(wèn)題未解決?付費(fèi)解決問(wèn)題加Q或微信 2589053300 (即Q號(hào)又微信號(hào))右上方掃一掃可加博主微信

所寫所說(shuō),是心之所感,思之所悟,行之所得;文當(dāng)無(wú)敷衍,落筆求簡(jiǎn)潔。 以所舍,求所獲;有所依,方所成!

支付寶贊助
微信贊助

免責(zé)聲明,若由于商用引起版權(quán)糾紛,一切責(zé)任均由使用者承擔(dān)。

您必須遵守我們的協(xié)議,如您下載該資源,行為將被視為對(duì)《免責(zé)聲明》全部?jī)?nèi)容的認(rèn)可->聯(lián)系老梁投訴資源
LaoLiang.Net部分資源來(lái)自互聯(lián)網(wǎng)收集,僅供用于學(xué)習(xí)和交流,請(qǐng)勿用于商業(yè)用途。如有侵權(quán)、不妥之處,請(qǐng)聯(lián)系站長(zhǎng)并出示版權(quán)證明以便刪除。 敬請(qǐng)諒解! 侵權(quán)刪帖/違法舉報(bào)/投稿等事物聯(lián)系郵箱:service@laoliang.net
意在交流學(xué)習(xí),歡迎贊賞評(píng)論,如有謬誤,請(qǐng)聯(lián)系指正;轉(zhuǎn)載請(qǐng)注明出處: » bat(vbs)批處理實(shí)現(xiàn)Windows環(huán)境下守護(hù)進(jìn)程

發(fā)表回復(fù)

本站承接,網(wǎng)站推廣(SEM,SEO);軟件安裝與調(diào)試;服務(wù)器或網(wǎng)絡(luò)推薦及配置;APP開(kāi)發(fā)與維護(hù);網(wǎng)站開(kāi)發(fā)修改及維護(hù); 各財(cái)務(wù)軟件安裝調(diào)試及注冊(cè)服務(wù)(金蝶,用友,管家婆,速達(dá),星宇等);同時(shí)也有客戶管理系統(tǒng),人力資源,超市POS,醫(yī)藥管理等;

立即查看 了解詳情