Io-Redirection
nohup:忽略輸入並將標準錯誤重定向到標準輸出
我正在使用
nohup
如下所述在後台啟動我的應用程序 -root@phx5qa01c:/bezook# nohup java -jar ./exhibitor-1.5.1/lib/exhibitor-1.5.1-jar-with-dependencies.jar -c file --fsconfigdir /opt/exhibitor/conf --hostname phx5qa01c.phx.qa.host.com > exhibitor.out & [1] 30781 root@phx5qa01c:/bezook# nohup: ignoring input and redirecting stderr to stdout
但每次看到這條資訊——
nohup: ignoring input and redirecting stderr to stdout
如果我看到這個消息會有什麼問題嗎?這是什麼意思,我該如何避免?
為了確保您的應用程序與其終端解除關聯 - 這樣它就不會干擾前台命令並在您註銷後繼續執行 -
nohup
確保 stdin、stdout 和 stderr 都不是類似終端的設備。該文件描述了它採取的操作:如果標準輸出是終端,則命名實用程序寫入其標準輸出的所有輸出都應附加到目前目錄中文件 nohup.out 的末尾。如果無法創建或打開 nohup.out 進行附加,則輸出應附加到 HOME 環境變數指定的目錄中的文件 nohup.out 的末尾。如果兩個文件都無法創建或打開以進行附加,則不應呼叫實用程序。
如果標準錯誤是終端,則命名實用程序寫入其標準錯誤的所有輸出都應重定向到與標準輸出相同的文件描述符。
當您輸入
> exhibitor.out
命令行時,您將標準輸出重定向到一個文件。如果您可以將應用程序的 stderr 定向到與其 stdout 相同的文件,則無需執行任何其他操作。或者,您可以通過添加參數(例如2> exhibitor.err
. (感謝未知使用者 - 我的通知沒有顯示名稱 - 建議包含此替代方案。)