Ⅰ linux下運行jar包的幾種方式
1 阻塞式方式
java -jar xxx.jar
特點: 當前終端的會話窗口被阻塞, 可按CTRL + C中斷程序的運行, 或者直接關閉會話窗口 —— 此時jar程序將終止.
2 後台運行方式
# 通過"&"符號實現後台運行:
java -jar xxx.jar &
特點: 當前終端的會話窗口不會被阻塞, 但是如果關閉當前窗口, 程序將終止運行.
3 後台持續運行方式
# 通過"nohup"命令實現後台運行:
nohup java -jar xxx.jar &
nohup命令是不掛斷運行命令的意思.
特點: 當用戶退出或終端關閉時, 程序的運行不受影響.
說明: 用nohup命令運行任務時, 默認情況下這個任務的所有輸出都將被重定向到nohup.out文件中, 除非另外指定輸出文件. 指定輸出文件方式為:
# 將輸出重定向到xxx.log文件中:
nohup java -jar xxx.jar > xxx.log &
> 符號是重定向符, 實現: 把它之前命令的所有輸出信息重定向到後面的文件中, 而不是顯示到屏幕上.
Ⅱ jenkins上使用shell腳本nohup部署jar服務到remote伺服器
先貼一下,我的jenkins里最後核心配置
remove_jar.sh腳本:
start_jar.sh腳本內容:
remove_jar.sh 和 start_jar.sh 在jenkins伺服器上,需要將這兩個shell在0.0.0.0(不能暴露)的遠端去執行
沒錯,客官您一眼就看出來了派行,覺得簡單的不值一提吧,先別著急,對搜這個問題的滑歲小菜雞來說這裡面也是大有文章,聽我一一道來。
1、第一個問題:ps -ef|grep xxx.jar查到多餘的pid
現象:在0.0.0.0上行 ps -ef | grep alk-wxapi-test.jar | grep -v grep | awk '{print $2}' 只能查到一個pid,但是把這句話放到shell腳本里,在本地使用命令上遠端執行,就會找到3個pid,而且kill 時提示失敗的錯誤。
現在已經知道原因了,但是當時確實是個問題。
已經解決不方便復現了,因此就描述一下就行了。
原因:shell里的這個命令也是通過bash在遠程執行的,所以找到的別的 無關緊要 的pid其實是bash,因此在grep是除了排除grep本身( grep -v grep )外還要排除bash( grep -v bash )
最後命令是:
2、遠程執行腳本,裡面有nohup java -jar,發生錯誤: nohup: failed to run command 『java』: No such file or directory
這是因為nohup時java環境變數沒有讀到,處理方式就是在nohup執行前加入
3、其他思路
4、第二條說jdk的路徑因為每個服務企業都不一樣,所以需要手動傳改,這一點已經在腳本上做了修改,啟動腳本上信羨睜攜帶的第一個參數就是jdk的安裝路徑
這兩個也都是比較好的思路,以後肯定有機會體驗的,本篇到此。
ps -ef |grep -v 在shell sh 腳本中貌似無效?
linux下搭建zookeeper集群遇到的坑
nohup: cannot run command異常解決
Zookeeper not starting, nohup error
Ⅲ 可運行jar自動退出問題
採用了springboot,可以直接生成可運行的碧輪桐jar包,之前部署都是直接採用:
java -jar *.jar --server.port=8080 > out.txt &
設置好埠和輸出文檔,後台執行都是可以的,前提是把運行的窗口不能關閉,如果關閉,出悔坦現桐此了運行一會關閉現象
後來網路各種論壇,實踐證明下面方式可以用,增加一個nohup命令,修改命令為:
nohup java -jar *.jar --server.port=8080 > out.txt &
完美解決了這個問題。
Ⅳ putty中使用nohup命令運行jar包成功後,想不關閉窗口繼續輸入其他命令怎麼辦
nohupjava-jarXXX.jar>temp.txt&
放到後台執行。網頁鏈接 如何在後台運行 Linux 命令並且將進程脫離終端
Ⅳ linux安裝jar命令
linux系統下jar是隨著jdk安裝的,所以安裝jar其實很容易。下面由我為大家整理了linux下安裝jar命令的相關知識,希望大家喜歡!
linux下安裝jar命令
jar是隨著jdk的安裝的。在jdk安裝的目錄下有bin目錄中,windows下的文件名為jar.exe,linux下文件名為jar.它的運行需要用到jdk安裝目錄下lib目錄中的tools.jar.
jar文件在linux下的安裝命令
首先安裝java 的jdk..並設置 java environment.
then the order is: [root@localhoat root]# java -jar /the directory and file name, include .jar
附:linux下jar命令用法詳解
jar的用法:
jar{ctxu}[vfm0M][jar-文件][manifest-文件][-c 目錄] 文件名。。。
{ctxu}是jar命令的子命令,每次jar命令中只可以包含一個ctxu中的一個,分別表示:
-c創建新的jar文件包 --常用於打包
-t列出jar文件包的內容列表
-x展開jar文件包的指定文件或者所有文件--常用於解開包
-u更新已經存在的jar文件包
[vmf0M]中可以選,也可以不選,是jar命令的選項參數:
-v生成詳細報告並列印到標准輸出
-f指定jar文件名,這個參數是必須的
-m指定需要包含的manfest清單文件
-0隻存儲不壓縮,速度快
-M不生成所有的清單文件
經常組合使用 cv0Mf/xvMf
補充:linux下運行jar包命令
java -jar xxxx.jar
Linux平台通過以下命令執行jar文件。 # java -jar file.jar
linux下執行jar文件方法:命令行下進入文件目錄,執行java -jar file.jar即可,也可在桌面創建一個啟動器,在命令欄填寫相關的命令:java -jar /file路徑/file.jar,這樣在桌面雙擊即可打開該jar文件 創建可執行的 JAR 文件包詳解:JAR 文件就是...
linux下執行jar文件方法:命令行下進入文件目錄,執行java -jar file.jar即可,也可在桌面創建一個啟動器,在命令欄填寫相關的命令:java -jar /file路徑/file.jar,這樣在桌面雙擊即可打開該jar文件 創建可執行的 JAR 文件包詳解:JAR 文件就是...
java -jar test.jar
在linux命令行下對jar進行解壓縮操作,比如有個jar包/usr/local/EtnetChinaApplication.jar #解壓jar包到臨時目錄cd /usr/localunzip EtnetChinaApplication.jar -d app#進入臨時目錄app,編輯文件ls app ...... log4j.properties xmemcache.prope...
java -jar xxxx.jar
nohup java -jar 啟動1.jar & nohup java -jar 啟動2.jar & nohup java -jar 啟動3.jar &
這個shell腳本的話應該只會影響當前的窗口,運行完程序後把窗口關閉,再新開窗口,你的JDK應該還是1.4的 如果不行的話,那就運行完程序,再export一遍1.4的JDK 只對當前窗口有影響,換用戶或者新開窗口都會變成1.4
不用用-cp, 有運行jar的-jar吧?或者jar 加什麼,你想你要的庫和主方法都在一個jar里,一般用不到-cp吧,除非你用到別的類庫不在jar里。
Ⅵ Linux 運行jar包怎麼後台運行
使用nohup命令,後台運行即可,及時關閉putty、xshell等終端窗口也不會關閉jar程序
例:nohup java -jar xxx.jar
Ⅶ 無法運行java,沒有那個文件或目錄啟動javajar包
解決辦法:
無法識別java命令,填寫全路徑就可好並返友飢以
查詢java路徑
echo $JAVA_HOME
在這里插蔽鉛入圖片描述
填寫全路徑後順利運行
nohup /usr/local/java/jdk1.8.0_131/bin/java -jar
/home/safety_health/busniess/bdtd-busniess-2.1.0.jar >
/home/safety_health/busniess/main.log 2>&1
Ⅷ linux nohup 啟動java工程問題
1) 在ECLIPSE下面EXPORT成為RUNNABLE JAR FILE。
2)拷貝1)中生成的JAR包,到LINUX中去。
3)隨便搞個什麼名字的.SH文件,裡面輸入java -jar XXX.jar
Ⅸ linux下jar包啟動命令,我用nohup java -jar + *.jar命令啟動,此時命令
啟動並數據出日誌到nohub.out : nohup java -jar xxx.jar nohub.out &
查看正在執行的任務:jobs
查看日誌 tail -f /xxx/xxx/nohup.out
查看正在執行的java進程 : ps -ef|grep java
kill -9 123