最近發現有很多人在百度這個問題,當初如易我也是初學者,隨便從網上搜了一下,就轉過來了,不過爲了不搜索結果同質化,爲你們提供更翔實的參考,我將nohup.out相關知識整理彙總以下:
1.nohup.out的由來及做用
用途:LINUX命令用法,不掛斷地運行命令。
語法:nohup Command [ Arg … ] [ & ]
描述:nohup 命令運行由 Command 參數和任何相關的 Arg 參數指定的命令,忽略全部掛斷(SIGHUP)信號。在註銷後使用 nohup 命令運行後臺中的程序。要運行後臺中的 nohup 命令,添加 & ( 表示「and」的符號)到命令的尾部。
例子: nohup ./startWeblogic.sh & 意思是即便退出ssh界面,命令仍然在後臺執行,而且打印過程日誌到nohup.out,固然也能夠將nohup.out的輸出轉向到其餘文件,高級應用請參考擴展閱讀。
2.nohup.out的查看方式與方法
實際使用過程當中,每每人們爲了省心(嗯,沒錯,就是懶),常常沒有給nohup.out進行重定向輸出,也沒有按日期分割文件,會形成這個文件特別巨大,達到2G或者3G,這個使用想查看文件,搜索出錯內容就比較痛苦了。通常有兩種方式
1.linux本機查看:使用tail 命令,查看最新的日誌,或滾動監控日誌打印。
例如命令 tail -1000 nohup.out (查看最後1000行日誌文本) tail -f nohup.out(監控日誌打印)
2.ftp下載到windown主機查看:通常小的log文件都沒有問題,可是過G的,通常的文本文檔查看就顯得無力了。推薦使用UltraEdit進行打開。
3.nohup.out維護管理方法(清空nohup.out)
如上文所述出現了超大號的文件簡直是使人討厭的事情,並且nohup.out會一直一直本身增加下去,若是你的服務器硬盤不給力的話,很容易把應用也掛掉(硬盤沒空間 ,啥都玩不轉),可是又不能一味的直接刪。由於直接刪除,可能會形成應用沒法打印後續的錯誤日誌,該問題常見於weblogic服務器,jboss服務器等這些大型中間件,這個在生產環境上要尤其注意。
所以就有了咱們不中止服務直接,清空nohup.out文件的方法。
兩個能夠不用中止WEB服務就能夠清空nohup.out的命令。
第一種:java
cp /dev/null nohup.out
第二種:linux
cat /dev/null > nohup.out
兩個我都用過,不用擔憂網上所說的性能問題,一般2/3 個G的文件都是1-2秒執行完畢
4.擴展閱讀
1.nohup的重定向,一勞永逸解決nohup.out文件過大的問題
如下是定義日誌打印級別,除了高於級別2的告警信息記錄到log文件外,其他直接不記錄
只輸出錯誤信息到日誌文件web
nohup ./program >/dev/null 2>log &
什麼信息也不要服務器
nohup ./program >/dev/null 2>&1 &
2.Linux的3中重定向
0:表示標準輸入
1:標準輸出,在通常使用時,默認的是標準輸出
2:標準錯誤信息輸出
能夠用來指定須要重定向的標準輸入或輸出。例如,將某個程序的錯誤信息輸出到log文件中:./program 2>log。這樣標準輸出仍是在屏幕上,可是錯誤信息會輸出到log文件中。另外,也能夠實現0,1,2之間的重定向。2>&1:將錯誤信息重定向到標準輸出。
3.關於/dev/null文件
Linux下還有一個特殊的文件/dev/null,它就像一個無底洞,全部重定向到它的信息都會消失得無影無蹤。這一點很是有用,當咱們不須要回顯程序的全部信息時,就能夠將輸出重定向到/dev/null。ssh