Background-Process

使用文件重定向時如何讓 nohup 乾淨地退出

  • March 20, 2017

使用以下命令:

nohup tail -f file | stdbuf -o0 awk '/string1/ && /string2/' > file &

這會在我的文件中創建我想要的數據,但這也給了我以下資訊:

[2] 13717
[root@server]# nohup: ignoring input and redirecting stderr to stdout

從那裡我必須按 ctrl-c 才能返回提示。我需要更改什麼才能返回提示?

你實際上有一個提示。發生的事情是您在報告有關標準輸入和標準輸出的警告之前得到它。 nohup如果您鍵入一個命令,它將按照您的預期執行,儘管您的提示在視覺上非常不正統。

如果這真的冒犯了您的感受,您可以使用 subshel​​l解決它

$ (nohup stuff and things > logfile & ) > /dev/null 2>&1

或者,您可以解決警告。你被警告是因為你沒有處理標準輸入和標準錯誤。如果您自己處理它們,nohup則無需更改任何內容,因此它將保持沉默:

$ nohup stuff and htings > logfile 2> errfile < /dev/null &

如果你不想擷取標準錯誤,你可以使用/dev/null你的錯誤文件;如果你想讓它和標準輸出到同一個地方,你可以使用2>&1.

引用自:https://unix.stackexchange.com/questions/352684