您能否使 nohup.out 仅在出现错误时创建,而不手动指定文件名?

您能否使 nohup.out 仅在出现错误时创建,而不手动指定文件名?

您可以使(在后台nohup ./file $1 $2 &运行)仅创建错误而不创建标准输出吗?./filenohup.out

但请不要手动指定nohup.outie

nohup ./file $1 $2 >/dev/null 2>nohup.out &

此外,以下状态nohup: redirecting stderr to stdout和重定向既不输出也不重定向错误。我认为这是因为它告诉它将错误重定向到输出,但输出被重定向到 /dev/null:

nohup ./file $1 $2 >/dev/null &

答案1

正如man nohup所述:

如果标准输入是终端,则从不可读的文件重定向它。如果标准输出是终端,nohup.out则尽可能将输出附加到终端,$HOME/nohup.out否则。如果标准错误是终端,则将其重定向到标准输出。要将输出保存到文件,请使用nohup COMMAND > FILE

由于您在终端中运行此命令,标准错误将被重定向到标准输出,并且如果不指定 OP 中建议的文件名,您将无法执行此操作。

相关内容