中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jar包的啟動方式有哪些

發布時間:2023-04-04 11:53:11 來源:億速云 閱讀:256 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“jar包的啟動方式有哪些”,內容詳細,步驟清晰,細節處理妥當,希望這篇“jar包的啟動方式有哪些”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

    一、各種啟動方式

    1.java -jar

    # 例子
    java -jar test.jar

    這是最簡單的啟動方式,同時弊端也是很多的。

    弊端1:exit 退出終端會導致java進程中斷。
    弊端2:ctrl+c 退出啟動展示頁會導致java進程中斷。
    弊端3:直接關閉終端會導致java進程中斷(啟動時和啟動完關閉都會導致java進程終端)。
    弊端4:控制臺日志不打印(這個可以不算弊端吧,其實很多場景不需要這個日志,這里姑且算是吧)

    所以該命令是不能直接使用的。下面是演示使用ctrl+c退出啟動展示頁后程序進行自動中斷的截圖:

    jar包的啟動方式有哪些

    從截圖中可以看到,當使用ctrl+c時,終端會終止剛剛使用java -jar啟動的進程,所以導致了java進程的中斷。

    2.java -jar test.jar &

    # 例子
    java -jar test.jar &

    可以看到這種啟動方式是多了&,&的作用是讓程序可以以后臺模式運行,這樣我們使用ctrl+c,或者exit退出啟動頁面時程序不會被終止,但是關閉終端會導致程序退出,無論是程序啟動時直接關閉終端還是程序啟動完畢在關閉,都會導致程序異常終止,總結如下:

    弊端1:直接關閉終端會導致java進程中斷(啟動時和啟動完關閉都會導致java進程終端)。
    弊端2:控制臺日志不打印(這個可以不算弊端吧,其實很多場景不需要這個日志,這里姑且算是吧)

    下面是使用ctrl+c退出啟動頁的結果,可以發現此時程序還在運行。

    jar包的啟動方式有哪些

    3.nohup java -jar test.jar

    # 例子
    nohup java -jar test.jar

    該命令相當于第一個場景增加了nohup命令,nohup命令其實就是為了指定輸出文件的,用在這里自然就是指定java的輸出了。nohup默認會將文件打印在當前文件夾下的nohup.out文件中,若是該文件權限不足,則會將日志輸出到$HOME/nohup.out。值得一提的事,這里的輸出接收的都是java控制臺的輸出。同時第一個場景擁有的弊端除了不打印控制臺日志他都有。所以這個命令我們一般也不用。

    弊端1:exit 退出終端會導致java進程中斷。
    弊端2:ctrl+c 退出啟動展示頁會導致java進程中斷。
    弊端3:直接關閉終端會導致java進程中斷(啟動時和啟動完關閉都會導致java進程終端)。

    【這里不重復驗證了】

    4.nohup java -jar test.jar &

    # 例子
    nohup java -jar test.jar &

    與上個命令相比增加了 &,作用可以類比第二個場景,然后增加了日志輸出。那是不是說還是有“關閉終端會導致程序終止”這個弊端呢,答案是否,使用這個命令關閉終端(無論是啟動時還是啟動完畢)都不會終止程序(原因是因為關閉終端這里其實關閉的是nohup的命令層級,對java程序已經起不到影響,linux肯定對nohup命令做了特殊處理)。

    所以說以上所有的弊端,這個命令已經沒有了,啟動程序使用這個命令也是完全沒有問題的。

    弊端1:日志定向輸出當前文件夾下的nohup.out(與下面幾個命令相比,姑且算是弊端吧)

    5.nohup java -jar test.jar > ./info.log &

    # 例子
    nohup java -jar test.jar >  ./info.log &

    該命令沒有弊端,與上一個場景的區別是會將日志打印到指定的info.log下面。不過打印方式是覆蓋。也就是說每次啟動以后,都會將之前的日志覆蓋

    6. nohup java -jar test.jar >> ./info.log &

    # 例子
    nohup java -jar test.jar >>  ./info.log &

    該命令沒有弊端,與上一個場景的區別是會將日志打印到指定的info.log下面。不過打印方式是拼接。也就是說每次啟動以后,都會將本次的日志拼接到原日志之后進行輸出,這里日志因為是控制臺日志,一般沒必要拼接

    7. nohup java -jar test.jar >> /dev/null &

    # 例子
    nohup java -jar test.jar >> /dev/null &

    這個命令是將日志輸出到/dev/null,/dev/null是linux系統里的黑洞,其實可以理解為垃圾桶,相當于把日志扔了不要了,其他就沒什么區別了。
    【這幾個命令就不重復測試了】

    二、總結

    常用的命令其實就三個,根據需要選擇即可

    # 需要打印控制臺日志,無需保留之前的日志信息
    nohup java -jar test.jar >  ./info.log &
    # 需要打印控制臺日志,需要保留之前的日志信息
    nohup java -jar test.jar >>  ./info.log &
    # 不需要打印控制臺日志
    nohup java -jar test.jar >> /dev/null &

    讀到這里,這篇“jar包的啟動方式有哪些”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    jar
    AI

    沅陵县| 深水埗区| 镇沅| 滁州市| 九江县| 会东县| 梧州市| 建德市| 依安县| 湄潭县| 宁陵县| 北京市| 郁南县| 莎车县| 阜阳市| 赤壁市| 昭通市| 姜堰市| 禹州市| 枝江市| 资源县| 尼木县| 襄汾县| 海淀区| 沙湾县| 临沧市| 泸西县| 临漳县| 蒙自县| 咸宁市| 繁昌县| 抚宁县| 思茅市| 临安市| 民勤县| 临朐县| 肇庆市| 霍林郭勒市| 沙湾县| 湖州市| 永寿县|