linux系統下運行java項目的腳本編寫


本文主要講linux系統下運行jar包,至於如何打包jar包,放到linux系統下可以參考其他的博客。

在linux系統下運行jar包的命令如下:

1、java -jar xxxxx.jar  // 當前ssh窗口被鎖定,可按CTRL + C打斷程序運行,或直接關閉窗口,程序退出

2、java -jar xxxxx.jar &   //當前ssh窗口不被鎖定,但是當窗口關閉時,程序中止運行。

3、nohup Java -jar xxxxxx.jar &  //意思是不掛斷運行命令,當賬戶退出或終端關閉時,程序仍然運行

這個只要部署一次,然后實際運行一下就會發現問題,然后自己搜索。那么如何寫一個shell腳本,直接運行resart.sh腳本就好了。

經過幾次試驗終於寫好了。如下:restart.sh

pid=`ps -ef | grep rulecc-1.0.0 | grep -v grep |awk '{print $2}'`
if [ $pid ]; then  
    echo :App  is  running pid=$pid
    kill -9 $pid
fi
nohup java -jar /apps/rulecc-1.0.0/rulecc-0.0.1-SNAPSHOT.jar &
tail -f nohup.out

 

對於一些大牛很快就能看懂,如果你跟我一樣,一點linux腳本的基礎和經驗也沒有,那么下面的知識和操作有助於你能理解:

1、linux環境下運行了java程序之后,如何查看啟動程序的線程?如何關閉運行程序的線程?

第一步:在運行app的路徑下輸入命令:jps

第二步:當你找到對應的app,那么你一定可以找到對應的線程;沒有找到也沒有關系,到網上搜搜,或者問問身邊寫過的人,也能找到。假設目標線程的pid=12522

第三步:“殺死”運行app的線程: kill -9 12522

第四步:重新運行java程序。

第五步:反復操作前面四步。多做幾次你一定會懂是什么意思。

 

下面就來解釋一下restart.sh腳本的意思:

第一行:將運行目標的線程pid賦值給pid變量

第二行:判斷pid是否在運行

第三行:如果在運行就打印運行的pid

第四行:“殺死”運行的pid

第五行:運行java程序。

第六行:自己搜一下吧。

問題:在寫restart.sh的時候遇到了幾個問題,都順利解決了,提供給大家參考,如果有疑問還是沒有解決的,歡迎留言。

1、xxx.sh腳本運行不被允許。

2、syntax error near unexpected token。出現這個問題的原因是由於windows環境下的換行符在linux環境下無法識別,所以要轉換成linux環境下的。

這個在百度經驗里面會有,這里就不羅嗦了。

===============================

下面提供一些常用的linux環境下的運行語句:

cd ..   //回到上一級目錄
cd /apps   //打開文件夾
ls     //查看文件
 
cd ./icreditrisk   //打開當前文件夾下的某文件夾
ls    // 查看文件
 
vim application.xml // 查看該文件
i           // 插入,修改
q!           // 放棄修改
wq      //保存修改

[參考文章]

1、http://blog.csdn.net/wggorking/article/details/53925907

2、https://jingyan.baidu.com/article/9f63fb91d014b8c8410f0e7a.html

3、http://blog.csdn.net/catoop/article/details/50588851

 4、http://blog.csdn.net/qq_30739519/article/details/51115075


免責聲明!

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



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