使用文件重定向时如何让 nohup 干净地退出

使用文件重定向时如何让 nohup 干净地退出

使用以下命令:

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

这会在我的文件中创建数据,这正是我想要的,但这也给了我以下内容:

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

从那里我必须按 ctrl-c 才能返回到提示符。我需要更改什么才能返回提示?

答案1

你确实有一个提示。发生的事情是你正在得到它 nohup报告有关标准输入和标准输出的警告。如果您键入命令,它就会像您期望的那样运行,尽管您的提示符在视觉上有明显的非正统扩展。

如果这确实冒犯了您的感情,您可以解决它带有子外壳:

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

或者,您可以解决警告。您收到警告是因为您没有处理标准输入和标准错误。如果你自己处理它们,nohup没有什么可改变的,所以它会保持沉默:

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

如果你不想捕获标准错误,你可以使用/dev/null你的错误文件;如果您希望它与标准输出相同的位置,您可以使用2>&1.

相关内容