我可以更改`nohup.out`的名字吗?
当我运行nohup some_command &
,输出到nohup.out
; man nohup
说,看看info nohup
反过来说:
如果标准输出是一个terminal,命令的标准输出被附加到文件'nohup.out'; 如果不能写入,则附加到文件'$ HOME / nohup.out'; 如果不能写入,则该命令不运行。
但是如果我已经有一个命令使用nohup
输出到/nohup.out
而我想运行另一个nohup
命令,我可以将输出redirect到nohup2.out
吗?
nohup some_command &> nohup2.out&
和瞧。
Bash版本的旧语法<4:
nohup some_command > nohup2.out 2>&1&
出于某种原因,上面的答案对我来说并不合适。 运行后,我没有返回到命令提示符,因为我预期跟踪&。 相反,我只是试着用
nohup some_command > nohup2.out&
它就像我想要的那样工作。 离开这里,以防其他人处于相同的情况。 运行Bash 4.3.8以供参考。
由于文件处理程序指向Linux / Unix系统上的i节点(独立于文件名存储)您可以在启动nohup something&
后,随时将默认nohup.out
重命名为任何其他文件名。 所以也可以做到以下几点:
$ nohup something& $ mv nohup.out nohup2.out $ nohup something2&
现在something
增加了nohup2.out
和something2
到nohup.out
。
上面的方法会在nohup命令上面运行时删除你的输出文件数据。
要在用户定义的文件中追加输出,您可以在nohup命令中使用>>
。
nohup your_command >> filename.out &
这个命令将在文件中附加所有的输出而不删除旧的数据。