您好,登錄后才能下訂單哦!
Windows中怎么使用bat腳本判斷端口是否可用,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
環境:
一臺服務器上用了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") :ok taskkill /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") :ok 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
關于Windows中怎么使用bat腳本判斷端口是否可用問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。