Linux下運行springboot項目jar包,啟動日志輸出命令解析


網上的解釋一堆,寫的亂七八糟的,看的我發懵,親測后整理如下:

首先,在jar包所在目錄下,正常啟動一個名為***.jar包標准命令:

[root@localhost data]# nohup java -jar ***.jar >nohup.log 2>&1 &

 

 

啟動之后,會在jar所在目錄生成一個nuhup.log日志文件,記錄控制台的日志輸出。

但這是什么意思呢?

划重點!划重點!!!其實就是兩個要點:輸出什么 和 輸出到哪 。
他們以符號“>”進行划分,符號左邊是輸出什么,符號右邊是輸出到哪。
1.輸出什么
輸出分為標准輸出和錯誤輸出,標准輸出就是全輸出,輸出控制台信息;錯誤輸出只是輸出錯誤日志信息。

> 符號左邊沒有1和2,啥數字也不寫只有一個右箭頭,默認標准輸出。

1>​​​​ 符號左邊是1,標准輸出。

2> 符號左邊是2,錯誤輸出。

因此上面我們執行的 ***.jar >nohup.log 2>&1命令,可以拆解成 > nohup.log 和 2> &1兩個輸出,只看符號“>”左邊輸出部分,分別代表默認標准輸出到一個地方,然后錯誤日志輸出到另一個地方,咱們后面再講輸出到什么地方。

2.輸出到哪
輸出到哪,分為輸出到指定路徑日志文件和重定向位置。

指定路徑文件好理解,就是指定一個地址而已,如下:

> /data/work/log.log

這樣便是指定輸出到路徑/data/work/log.log文件。

Linux上有一個特例路徑/dev/null ,這路徑就好像永久刪除的回收站,當我們不需要輸出任何信息時,就可以將輸出指向/dev/null,那就不會有任何輸出文件。

至於重定向,就是將文件重定向到一個地址,如下:

> &1 重定向到標准輸出的地址,啥意思,就是輸出到已指定的標准輸出的地址。

> &2 重定向到錯誤輸出的地址,就是輸出到已指定的錯誤輸出的地址。

比如>nohup.log 2>&1 ,意思是前面默認標准輸出到了nohup.log日志下,后面錯誤輸出也指向標准輸出的地址,也即nohup.log日志下。

3.執行輸出 &,最后加一個&符號收尾。

舉例再解釋:

 

(1)nohup java -jar ***.jar >/data/log.log 2>/data/err.log &

解釋:標准日志輸出到/data/log.log文件,錯誤日志輸出到/data/err.log文件。

(2)nohup java -jar ***.jar >/data/log.log 2>&1 &

解釋:標准日志輸出到/data/log.log文件,錯誤日志重定向也輸出到/data/log.log文件。

(3)nohup java -jar ***.jar >/dev/null 2>/data/err.log &

解釋:標准日志輸出到/dev/null,也就是不輸出標准日志,錯誤日志輸出到/data/err.log文件。

一般采用上面(3)只輸出錯誤日志就可以了,有需要的按照(1)進行輸出。

 

轉載:http://t.csdn.cn/sLG6V


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM