Java中啟動(dòng)jar包命令舉例詳解
1、windows環(huán)境
在cmd命令窗口,執(zhí)行java -jar ***.jar即可啟動(dòng)java程序。按下ctrl+c或直接關(guān)閉cmd命令窗口,當(dāng)前程序都會(huì)退出。
windows環(huán)境下javaw啟動(dòng)命令代表后臺(tái)運(yùn)行,關(guān)閉cmd命令窗口仍然運(yùn)行,在任務(wù)管理器可以看到相關(guān)服務(wù),如
javaw -jar ***.jar
2、linux環(huán)境
java程序啟動(dòng)命令,執(zhí)行java -jar ***.jar即可啟動(dòng)java程序。按下ctrl+c或直接關(guān)閉終端,當(dāng)前程序都會(huì)退出。
在命令的結(jié)尾添加“&”,“&”表示該程序可以在后臺(tái)執(zhí)行,如
java -jar ***.jar &
但是當(dāng)窗口關(guān)閉時(shí),程序也會(huì)中止運(yùn)行,在命令的最前面加上nohup,這樣當(dāng)終端關(guān)閉時(shí),程序就會(huì)不掛斷運(yùn)行,如
nohup java -jar ***.jar &
當(dāng)前程序的打印日志會(huì)被寫入到當(dāng)前目錄的nohup.out文件中,可以修改寫入指定的文件中,如
nohup java -jar ***.jar > log.out &
當(dāng)前程序的打印日志就會(huì)被寫入當(dāng)前目錄下log.out文件中,當(dāng)不想寫入日志,可以將日志重定向到/dev/null中,/dev/null代表linux的空設(shè)備文件,所有往這個(gè)文件里面寫入的內(nèi)容都會(huì)丟失,如
nohup java -jar ***.jar > /dev/null &
當(dāng)只輸出錯(cuò)誤信息到日志,標(biāo)準(zhǔn)輸出不寫入日志,直接丟棄,如
nohup java -jar ***.jar > /dev/null 2>error.log &
當(dāng)標(biāo)準(zhǔn)輸出重定向到/dev/null中,然后錯(cuò)誤信息輸出重定向到標(biāo)準(zhǔn)輸出,則錯(cuò)誤信息也被定向到了/dev/null中,錯(cuò)誤輸出同樣也被丟棄,如
nohup java -jar ***.jar > /dev/null 2>&1 &
當(dāng)標(biāo)準(zhǔn)輸出重定向到log.out中,然后錯(cuò)誤信息輸出重定向到標(biāo)準(zhǔn)輸出,則錯(cuò)誤信息也被定向到了log.out中,如
nohup java -jar ***.jar > log.out 2>&1 &
當(dāng)需要停止java程序時(shí),通過如下命令找到PID,并根據(jù)PID終止進(jìn)程,如下
ps -ef | grep ***.jar kill -15 PID
3、重定向
在linux中重定向相當(dāng)?shù)姆奖?,只需要?gt;或>>符合就可以了,其含義如下
> 是覆蓋寫入,原來的內(nèi)容全部清空。 >> 是追加寫入,在原來內(nèi)容末尾追加。
- 標(biāo)準(zhǔn)輸入文件(stdin):stdin 的文件描述符為 0,Unix 程序默認(rèn)從 stdin 讀取數(shù)據(jù)。
- 標(biāo)準(zhǔn)輸出文件(stdout):stdout 的文件描述符為 1,Unix 程序默認(rèn)向 stdout 輸出數(shù)據(jù)。
- 標(biāo)準(zhǔn)錯(cuò)誤文件(stderr):stderr 的文件描述符為 2,Unix 程序會(huì)向 stderr 流中寫入錯(cuò)誤信息。
這樣就知道輸出/錯(cuò)誤輸出信息分別用數(shù)字 1 和 2 代表,反過來看上面的寫法就指定重定向的原理了。
java -jar app.jar >log 2>&1 &
這里的, 2>&1 代表把錯(cuò)誤輸出 2 合并到 1 中,并重定向到名為 log 的文件中去。符號(hào) >& 是一個(gè)整體,不可分開,分開后就不是上述含義了。
2>&1 符號(hào)必須放到 >log 后面,為什么呢?我們不妨把 1 和 2 都理解是一個(gè)指針, 然后來看上面的語句就是這樣的:本來 1----->屏幕 (1 指向屏幕),執(zhí)行>log 后, 1----->log (1 指向 log),執(zhí)行 2>&1 后, 2----->1 (2 指向 1,而 1 指向 log, 因此 2 也指向了 log)。
總結(jié)
到此這篇關(guān)于Java中啟動(dòng)jar包命令的文章就介紹到這了,更多相關(guān)Java啟動(dòng)jar包命令內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于在IDEA熱部署插件JRebel使用問題詳解
這篇文章主要介紹了關(guān)于在IDEA熱部署插件JRebel使用問題詳解,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12Java視頻格式轉(zhuǎn)化的實(shí)現(xiàn)方法
這篇文章主要為大家詳細(xì)介紹了Java視頻格式轉(zhuǎn)化的實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02JAVA使用Gson解析json數(shù)據(jù)實(shí)例解析
JSON(JavaScript Object Notation) 是一種輕量級(jí)的數(shù)據(jù)交換格式,易于閱讀和編寫,同時(shí)也易于機(jī)器解析和生成。接下來通過本文給大家介紹JAVA使用Gson解析json數(shù)據(jù)實(shí)例解析,需要的朋友參考下吧2016-03-03eclipse部署tomcat服務(wù)器無法啟動(dòng)問題的解決方法
這篇文章主要為大家詳細(xì)介紹了eclipse部署tomcat服務(wù)器無法啟動(dòng)問題的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03MybatisGenerator文件生成不出對(duì)應(yīng)文件的問題
本文介紹了使用MybatisGenerator生成文件時(shí)遇到的問題及解決方法,主要步驟包括檢查目標(biāo)表是否存在、是否能連接到數(shù)據(jù)庫、配置生成器的路徑等,通過在項(xiàng)目結(jié)構(gòu)中引入相應(yīng)的jar包,并在GeneratorSqlmap.java文件中運(yùn)行,可以成功生成對(duì)應(yīng)的文件2025-01-01java利用udp實(shí)現(xiàn)發(fā)送數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了java利用udp實(shí)現(xiàn)發(fā)送數(shù)據(jù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-07-07