Terminal

如何不創建 nohup.out 文件,但保留終端輸出?

  • July 31, 2017

如果您將 nohup 應用程序重定向為:

nohup bash -c "printf \"command\n\"" &> /dev/null

nohup.out文件沒有創建,但是我執行命令的終端也沒有得到任何輸出。如何保留命令的終端輸出但不創建nohup.out文件?

試試這個,

要在控制台和 nohup.out 文件中獲取STDOUTand STDERR,請在執行命令之前執行以下操作nohup

exec >  >(awk '{ print $0; fflush();}' | tee -a nohup.out)
exec 2>  >(awk '{ print $0; fflush();}' | tee -a nohup.out >&2)
nohup bash -c "printf \"command\n\"" &

編輯:

如果你不想nohup.out創建,然後試試這個

exec >  >(awk '{ print $0; fflush();}')
exec 2>  >(awk '{ print $0; fflush();}')
nohup bash -c "printf \"command\n\"" &

這不會在控制台上創建nohup.out同時顯示STDOUT和。STDERR

將上述行放入腳本中,然後在後台執行。

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