解決linux環境下nohup: redirecting stderr to stdout問題


在生產環境下啟動Weblogic時,發現原來好好的nohup信息輸出到指定文件中的功能,突然出問題了。現象是控制台輸出的信息一部分輸出到了我指定的文件,另一部分卻輸出到了nohup.out,而我是不想讓它產生nohup.out文件,不知道是什么原因。

我的啟動命令是這樣的:
nohup bin/startManagedServer.sh myserver htp://192.168.0.1 -Xms2048m -Xmx2048m > logs/myserver.out &現在指行這個命令,會給我產生兩個文件,一個中logs/myserver.out,另一個是nohup.out文件。
怎樣才能讓它不產生nohup.out文件呢。
網上搜了半天,據說好象可以把后面的 “&” 改成 “2>&1 &”,於是把啟動命令改成如下:

nohup bin/startManagedServer.sh myserver htp://192.168.0.1 -Xms2048m -Xmx2048m > logs/myserver.out 2>&1 &再次執行,問題解決。

解釋如下:

2>
表示把標准錯誤(stderr)重定向,標准輸出(stdout)是1。

尖括號后面可以跟文件名,或者是&1, &2,分別表示重定向到標准輸出和標准錯誤。

2> &1
1> &2
2> stderr.log
1> stdout.log


免責聲明!

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



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