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