shell腳本中根據端口號kill對應的應用進程


一、使用情景

在Jenkins的自動部署中,每次重新部署我們都需要先關閉原先的應用進程,然后重新部署啟動。在使用tomcat時,我們可以通過startup.sh和shutdown.sh進行對應操作。但是在使用springboot的Jar包時,卻無從下手了(有知道的告訴兄弟一聲),所以采取的辦法是直接kill掉應用的pid,然后重新部署啟動。

每次啟動的pid都是不一樣的,而已知的是應用的端口號,那么如果能通過端口號查詢到應用的pid不就行了嗎。

二、shell中通過端口號查詢pid

port=8080 #根據端口號查詢對應的pid pid=$(netstat -nlp | grep :$port | awk '{print $7}' | awk -F"/" '{ print $1 }'); #殺掉對應的進程,如果pid不存在,則不執行 if [ -n "$pid" ]; then kill -9 $pid; fi

 

實現很簡單,命令需深究。


免責聲明!

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



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