题
当我跑步时 nohup some_command &
, ,输出到 nohup.out
; man nohup
说要看 info nohup
反过来说:
如果标准输出是终端,则将命令的标准输出附加到“ nohup.out”文件上;如果无法写入,则将其附加到“ $ home/nohup.out”文件上;如果无法写入,则该命令不会运行。
但是,如果我已经有一个命令使用 nohup
随着输出将 /nohup.out
我想跑另一个 nohup
命令,我可以将输出重定向到 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-节点(独立于文件名的I-节点)时,您可以重命名默认值 nohup.out
启动后的任何其他文件名 nohup something&
. 。因此,也可以做以下操作:
$ nohup something&
$ mv nohup.out nohup2.out
$ nohup something2&
现在 something
将行添加到 nohup2.out
和 something2
至 nohup.out
.
每当您在NOHUP命令上运行时,上述方法都会删除输出文件数据。
至 在用户定义的文件中附加输出 您可以使用 >>
在nohup命令中。
nohup your_command >> filename.out &
此命令将无需删除旧数据即可附加文件中的所有输出。
不隶属于 StackOverflow