如何避免创建nohup.out并在这种情况下生成输出?

时间:2014-03-23 11:03:52

标签: linux bash nohup

我正在运行一个matlab脚本,该脚本在函数中分配输入参数和输出文件夹。 当我像这样运行nohup时 nohup ./matlabscript.h& 然后它生成一个非常大的nohup.out文件。如何避免创建该文件? 输出文件夹已分配,因此我不确定是否需要分配输出文件? 谢谢

1 个答案:

答案 0 :(得分:2)

filmor评论时,您可以redirect stdout 到某个文件。

nohup ./script > script.out &

甚至将 stdout stderr 重定向到同一个文件

nohup ./script > script.out 2>&1 &

或另一个

nohup ./script > script.out 2> script.err &

要丢弃输出,请将其重定向到/dev/null。数据基本上被破坏,因此不使用内存。见null(4)。如果要丢弃两个输出,请使用:

nohup ./script > /dev/null 2>&1 &
当两个输出都被重定向时,

nohup(1)会发出通知,因此不会创建nohup.out文件(前提是这两个输出都不是终端,请参阅isatty(3))。

我还建议您考虑使用batch(1),例如使用here document

batch << EOJ
  ./script > script.out 2>&1
EOJ

阅读advanced bash scripting guide