windows 關閉端口被占用腳本


cmd 關閉進程java

taskkill /F /IM java.exe

taskkill /f /im java.exe

 

如何用dat批處理文件關閉某端口對應程序-Windows自動化命令

如何用dat批處理文件關閉某端口對應程序?

網上找到的大部分都是手動操作,第一步先查出端口,第二步在根據上一步查到的端口手動去關閉進程。但我的需求不是這樣的,我需要全自動處理。用於 dubbo 服務進程在 Windows 環境下的關閉。如果 Linux 環境,則不需那么辛苦了。

找了大半天,終於在百度知道上得到參考案例(或許是我使用的關鍵詞不對),並成功試驗,感謝相關貢獻者。

答案一:

for /f "tokens=1-5 delims= " %%a in ('"netstat -ano|findstr "^:指定端口號""') do taskkill /pid %%e
  
  
 
 
         

 

答案二:


   
   
  
  
          
  1. @echo off
  2. set port=1234
  3. for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port%"') do taskkill /pid %%m

 

我自己試驗成功的腳本如下:不加/f就關不掉

@echo off
REM 聲明采用UTF-8編碼
chcp 65001
set port=9999
for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port%"') do (
    echo kill the process %%m who use the port %port%
    echo 正在關閉,請等待 %%m
    taskkill /f /pid %%m
)
pause

參考地址:http://zhidao.baidu.com/link?url=wGa-tP8nkQfi2bla1BRN5ZYjZ1TZzs3sr1QCPS0tS2NHbiUee9byFCNO31imk337DHvOanD05ezYL0NMF0Hopa

 

循環讀取一批端口,並查詢對應PID是否存在,若存在則關閉,腳本如下:


   
   
  
  
          
  1. @echo off
  2. for /l %%n in (20801,1,20812) do (
  3. @echo find the process which use port [%%n]
  4. for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%%n"') do (
  5. tasklist /FI "PID eq %%m"|find /i "PID" && (
  6. echo PID:%%m 運行中,kill the process [%%m] who use the port [%%n]
  7. taskkill /F /pid %%m
  8. ) || echo PID:%%m 未運行
  9. )
  10. )

 

以上腳本,參考資料如下:

http://blog.csdn.net/painss/article/details/4431580

http://3y.uu456.com/bp_1fudk0d4or4n7xz5ebbq_1.html

原文地址:https://blog.csdn.net/jacke121/article/details/70187977


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM