nohup 啓動命令中 &gt/dev/null 2&gt&1 相關說明

下面是我們啓動 Spring Boot 服務常用的命令:

nohup java -Xms1g -Xmx1g -Xss1024K -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -server -jar -Dfile.encoding=utf-8 ./spring-boot-demo-0.0.1-SNAPSHOT.jar --spring.profiles.active=test >/dev/null 2>&1 &

說明

  • nohup 就是no hangup,不要掛斷,後臺運行,關閉終端,當前運行的進程不終止,標準輸出內容會輸出到當前目錄的 nohup.out 日誌文件中而不終端顯示;
  • /dev/null 是 Linux 一個空設備文件,通常也被稱爲位桶(bit bucket)或黑洞,這個文件接收到任何數據都會被丟棄;
  • Linux系統預留可三個文件描述符:0、1 和 2,他們的意義如下所示:
    0 - 標準輸入(stdin)
    1 - 標準輸出(stdout)
    2 - 標準錯誤(stderr)
  • 重定向的符號有兩個:> 或 >>,> 會先清空文件,然後再寫入內容,>> 會將重定向的內容追加到現有文件的尾部;
  • 命令最後一個 &,表示後臺運行的意思,和 nohup 配置表示不掛斷後臺運行;

舉例

  • 2>/dev/null
    把錯誤輸出到“黑洞”(丟棄輸出);
  • >/dev/null 2>&1
    默認情況是1,也就是等同於 1>/dev/null 2>&1。意思就是把標準輸出重定向到“黑洞”,還把錯誤輸出2重定向到標準輸出1,也就是標準輸出和錯誤輸出都進了“黑洞”;
  • 2>&1 >/dev/null
    把錯誤輸出2重定向到標準出書1,也就是屏幕,標準輸出進了“黑洞”,也就是標準輸出進了黑洞,錯誤輸出打印到屏幕;
  • &>/dev/null
    linux中的文件號,1 是標準輸出流,2 是錯誤輸出流,此處 &> 的意思是合併標準輸出和錯誤輸出並重定向,即重定向到空設備;注意,& 和重定向符號(>)放到一起說,中間沒有空格;

我們對整條命令有了清晰的認識,也就可以根據自己的情況靈活運用。

【完】

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章