假設乙個應用場景,在某種環境下, 我們需要去關閉某個應用程序, 然後重新部署啟動.不一樣的場景需要使用不一樣的指令碼,比如在使用tomcat時,可以通過start.up.sh和shutdown.sh進行操作,但是別的好像就沒有好的辦法了,所以採用的是kill掉應用的pid, 然後重新部署啟動.然而每次啟動的pid都是不一樣的, 但是我們知道的是每次都會啟動同樣的埠號, 如果通過埠號查詢到應用的pid再去kill掉,就會省事很多.
接下來可以在shell中通過埠查詢pid
port=8030# 根據埠號去查詢對應的pid
pid = $(netstat -nlp | grep :$port | awk
'' | awk -f"/"
'');# 殺掉對應的程序 如果pid不存在,即該埠沒有開啟,則不執行
if [ -n "
$pid
" ]; then
kill -9
$pid;
fi
這樣就可以實現在生產環境中執行這個shell指令碼來停止指定埠的服務了,一鍵啟動.
根據埠號kill掉程序
場景 乙個cmd視窗執行任務,但不會停止,需要在其執行一段時間後自動停止 引入這個.bat指令碼,kill掉固定埠對應的程序。具體如下 setlocal enabledelayedexpansion for f tokens 1 5 a in netstat ano find 8000 do if ...
批處理根據埠號結束程序
新建乙個txt 編碼格式為ansi 將下面的 copy進去,改檔案字尾為.bat,雙擊執行 echo off start clsset i 0 echo echo 顯示所有埠占用情況 echo 檢視指定埠占用情況 echo echo.set p i 請選擇 if i 1 goto item1 els...
windows和linux根據埠號查殺程序
windows 在命令視窗中輸入命令中輸入netstat ano findstr 埠號 然後回車就可以看到這個埠被哪個應用占用 檢視到對應的程序id之後,就可以通過id查詢對應的程序名稱,使用命令tasklist findstr 程序id號 通過命令殺掉程序,或者是直接根據程序的名稱殺掉所有的程序,...