㈠ 如何在linux下運行jar包的方法
當需要把在Windows上開發的java程序用在Linux上運行時,就需要吧該Java程序打包成jar包上傳到Linux上去運行。首先想到的可能就是通過 java -jar xxx.jar 的方式來運行我們的jar包,程序運行正常,但是窗口被鎖定,當我們關閉窗口或Ctrl + C打斷程序運行時,程序就會退出,這肯定不是我們想要的,下面我介紹幾種Linux下後台啟動jar包的方法
優化方法一:
& 表示後台運行,ssh窗口不被鎖定,但是關閉窗口時,程序還是會退出
優化方法二:
nohup 表示不掛斷運行命令行,當賬號退出或關閉終端時,程序仍然運行
當用 nohup 命令執行作業時,該作業的所有輸出被重定向到nohup.out的文件中,除非另外指定了輸出文件。
優化方法三:
> /usr/local/temp.txt 表示將所有啟動的日誌信息記錄到temp.txt文件中
㈡ linux遠程運行jar包,關閉窗口後程序就停了怎麼辦
在Linux遠程運行JAR包時,是不能關掉窗口程序的,否則程序也會終止。其中nohup表示後台運行,關閉窗口後也也繼續執行,&意思是終端連接的時候後台運行,終端斷了進程也會停。
具體解決方法是使用nohup命令,在窗口程序的前面加上nohup,程序的後面加上&,這樣程序就會一直執行直到結束,而不會因為關閉窗口程序而停了。
例子,比如:nohupphpspider.php&回車,然後提示一堆東西,再次回車,回到shell界面。這就可以了。
㈢ Linux 運行jar包怎麼後台運行
使用nohup命令,後台運行即可,及時關閉putty、xshell等終端窗口也不會關閉jar程序
例:nohup java -jar xxx.jar
㈣ linux 腳本編程 定時關閉和打開程序
1、利用crontab 制定定時任務
2、編寫定時關閉和打開程序的腳本或命令
3、crontab的用法
第1列分鍾1~59
第2列小時1~23(0表示子夜)
第3列日1~31
第4列月1~12
第5列星期0~6(0表示星期天)
第6列要運行的命令
下面是crontab的格式:
分 時 日 月 星期 要運行的命令或腳本
30 21 * * * /usr/local/apache/bin/apachectl restart
上面的例子表示每晚的21:30重啟apache
㈤ Linux 後台啟動運行jar包
1、首先基本的運行 jar 包命令如下
這個命令會鎖定命令窗口,當窗口關閉時,程序也就自動退出了,所以需要讓 jar 包後台運行。
2、後台啟動運行
3、指定輸出文件
如下,xxx.log 就是指定的輸出文件,如果不指定,默認在 jar 包所在目錄,創建 nohup.out 文件。
㈥ jar 在linux下怎麼打開
linux下執行jar文件方法:命令行下進入文件目錄,執行java -jar file.jar即可,也可在桌面創建一個啟動器,在命令欄填寫相關的命令:java -jar /file路徑/file.jar,這樣在桌面雙擊即可打開該jar文件
創建可執行的 JAR 文件包詳解:JAR 文件就是 Java Archive File,顧名思意,它的應用是與 Java 息息相關的,是 Java 的一種文檔格式。JAR 文件非常類似 ZIP 文件--准確的說,它就是 ZIP 文件,所以叫它文件包。JAR 文件與 ZIP 文件唯一的區別就是在 JAR 文件的內容中,包含了一個 META-INF/MANIFEST.MF 文件,這個文件是在生成 JAR 文件的時候自動創建的.舉個例子,如果我們具有如下目錄結構的一些文件:
==
`-- test
`-- Test.class
把它壓縮成 ZIP 文件 test.zip,則這個 ZIP 文件的內部目錄結構為:
test.zip
`-- test
`-- Test.class
如果我們使用 JDK 的 jar 命令把它打成 JAR 文件包 test.jar,則這個 JAR 文件的內部目錄結構為:
test.jar
|-- META-INF
| `-- MANIFEST.MF
`-- test
`--Test.class
創建可執行的 JAR 文件包,需要使用帶 cvfm 參數的 jar 命令,同樣以上述 test 目錄為例,命令如下:jar cvfm test.jar manifest.mf test,這里 test.jar 和 manifest.mf 兩個文件,分別是對應的參數 f 和 m,其重頭戲在 manifest.mf。因為要創建可執行的 JAR 文件包,光靠指定一個 manifest.mf 文件是不夠的,因為 MANIFEST 是 JAR 文件包的特徵,可執行的 JAR 文件包和不可執行的 JAR 文件包都包含 MANIFEST。關鍵在於可執行 JAR 文件包的 MANIFEST,其內容包含了 Main-Class 一項。這在 MANIFEST 中書寫格式如下:Main-Class: 可執行主類全名(包含包名)
例如,假設上例中的 Test.class 是屬於 test 包的,而且是可執行的類 (定義了 public static void main(String[]) 方法),那麼這個 manifest.mf 可以編輯如下:Main-Class: test.Test ,這個 manifest.mf 可以放在任何位置,也可以是其它的文件名,只需要有 Main-Class: test.Test 一行,且該行以一個回車符結束即可。創建了 manifest.mf 文件之後,我們的目錄結構變為:
==
|-- test
| `-- Test.class
`-- manifest.mf
這時候,需要到 test 目錄的上級目錄中去使用 jar 命令來創建 JAR 文件包。也就是在目錄樹中使用==表示的那個目錄中,使用如下命令:jar cvfm test.jar manifest.mf test
之後在==目錄中創建了 test.jar,test.jar 就是執行的 JAR 文件包。運行時只需要使用 java -jar test.jar 命令即可。
㈦ 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 &
> 符號是重定向符, 實現: 把它之前命令的所有輸出信息重定向到後面的文件中, 而不是顯示到屏幕上.