Linux下jar包的運行、查看、終止方式
更新時間:2025年11月18日 09:53:46 作者:斯文~
介紹了四種運行jar包的方法,包括前臺運行、后臺不鎖窗口運行、后臺掛起運行以及指定日志輸出,還介紹了查看運行中的jar包和終止jar包的方法
1. jar包的運行
java -jar xxx.jar:當前ssh窗口被鎖定,不可進行其它操作,ctrl + c或直接關(guān)閉窗口停止程序;java -jar xxxxx.jar &: 當前ssh窗口不被鎖定,可進行其它操作,當窗口關(guān)閉時,程序退出;nohup java -jar xxx.jar &:后臺掛起程序,當賬戶退出或終端關(guān)閉時程序停止,日志文件存儲在當前目錄的nohup.out文件中;nohup java -jar xxxxxx.jar > log.txt &:指定輸出日志到log.txt文件,后臺掛起程序,當賬戶退出或終端關(guān)閉時,程序仍然運行;
nohup 表示生成日志文件nohup.out,& 表示后臺新啟一個線程執(zhí)行該命令。
nohup java -jar xxx.jar >xx.log 2>&1 & 該命令多了2>&1,它的意思是,將標準錯誤2重定向到標準輸出1,標準輸出1再被重定向輸入到xx.log中; 0 – stdin (standard input,標準輸入) 1 – stdout (standard output,標準輸出) 2 – stderr (standard error,標準錯誤輸出)
2. 查看運行中的jar包
# 以下幾種命令均可 ps -ef | grep java 查看當前運行的java進程 ps -ef | grep xxx.jar 查看當前運行的jar進程 ps aux | grep xxx.jar # ps:process status的簡稱,用于顯示當前進程的狀態(tài); # a:all簡稱,顯示所有程序; # u:user簡稱,以用戶為主的格式來顯示; # x:顯示所有程序,不區(qū)分終端機; # 查看某端口對應(yīng)的線程pid netstat -nlp |grep :9181 # 根據(jù)進程號查看端口號 netstat -anop | grep 15161
3. jar的終止
kill -9 jar包pid # 9:使用第9種信號(SIGKILL)無條件終止該進程
4. jar啟停腳本
# start.sh nohup java -jar 包名.jar >log.txt & echo $! > /var/run/包名.pid # 將jar包啟動對應(yīng)的pid寫入文件中,為停止時提供pid
# shutdown.sh PID=$(cat /var/run/包名.pid) kill -9 $PID
# 給腳本添加可執(zhí)行權(quán)限 sudo chmod +x ./test.sh
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

