Windows下bat指令碼判斷埠是否可用

2021-09-03 09:04:37 字數 1437 閱讀 3485

環境: 一台伺服器上用了portmap做了埠**,但是這個程式經常會跪,需要人工去重啟

解決思路:

通過bat來監控程式埠,不通時候自動重啟,如果埠可用,則會出來telnet程序,若埠不可用,則不會出現telnet程序。根據程序是否存在來判斷埠是否可用,因為telnet通的話,會直接跳轉視窗,無回顯,所以需要telnet時候啟用新視窗。

方法二

@echo off

title portmap存活監控!!!

:again

set ip=127.0.0.1

set port=8080

start telnet.exe %ip% %port%

ping -7 127.0.0.1 > null

tasklist|findstr /i "telnet.exe" > nul

if errorlevel 1 (goto err) else (goto ok)

:err

tasklist|findstr -i "portmap.exe"

if errorlevel 1 (start "" "d:\portmap1.6\portmap.exe") else (taskkill /f -im portmap.exe & start "" "d:\portmap1.6\portmap.exe")

:oktaskkill /f -im "telnet.exe" >> nul

echo portmap services is running %date:~0,4%-%date:~5,2%-%date:~8,2% %time:~0,2%:%time:~3,2%

ping -n 300 127.0.0.1 >nul

goto again

方法二

@echo off

title portmap存活監控!!!

:again

set ip=127.0.0.1

set port=8080

netstat -ano|findstr %ip%:%port%|findstr -i established

if errorlevel 1 (goto err) else (goto ok)

:err

tasklist|findstr -i "portmap.exe"

if errorlevel 1 (start "" "d:\portmap1.6\portmap.exe") else (taskkill /f -im portmap.exe & start "" "d:\portmap1.6\portmap.exe")

:okecho portmap services is running %date:~0,4%-%date:~5,2%-%date:~8,2% %time:~0,2%:%time:~3,2%

ping -n 300 127.0.0.1 >nul

goto again

windows系統下的bat守護指令碼

win10系統下測試,經常出現測試程序自動關閉的情況,這時候可以執行乙個守護程序,如果測試程序關閉就重啟程序,記錄 方便備用。迴圈檢查php cgi.exe程序是否存在,如果不存在就新開視窗,重新啟動。echo off begin 查詢程序php cgi.exe tasklist find i ph...

Windows批處理BAT指令碼

2 echo和 字元放在命令前將關閉命令回顯,無論是否為開啟狀態。開啟或關閉回顯 echo 輸出資訊 echo string 3 pause 玩遊戲的都知道,暫停的意思。顯示其他提示語 echo string pause nul 4 errorlevel 返回程式碼 echo errorlevel ...

Windows程式打包指令碼 bat

打包指令碼的流程和自動打包基本相同 1.編譯軟體 2.拷貝需要的內容 3.簽名 4.打包成安裝檔案 5.再次簽名,並將安裝檔案名稱改成需要的格式 編譯軟體需要初始化vs的執行環境,如 call d program files x86 microsoft visual studio 12.0 vc b...