当我跑步时 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.outsomething2nohup.out.

每当您在NOHUP命令上运行时,上述方法都会删除输出文件数据。

在用户定义的文件中附加输出 您可以使用 >> 在nohup命令中。

nohup your_command >> filename.out &

此命令将无需删除旧数据即可附加文件中的所有输出。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top