我可以更改“noup .out”的名称吗?

当我运行nohup some_command &时,输出到nohup.out;man nohup表示查看info nohup,而info nohup反过来表示:

如果标准输出为终端,则输出值为 命令的标准输出被追加 到文件' noup .out';如果这 不能写入,它是附加的 到文件'$HOME/ noup .out';如果 命令不能被写入

但是如果我已经有一个命令使用nohup输出到/nohup.out,我想运行另一个命令,nohup命令,我可以将输出重定向到nohup2.out吗?

256248 次浏览
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-node(它独立于文件名存储),您可以在启动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 &

此命令将附加文件中的所有输出,而不删除旧数据。

my start.sh文件:

#/bin/bash


nohup forever -c php artisan your:command >>storage/logs/yourcommand.log 2>&1 &

只有一件重要的事。第一条命令必须是“不”,第二条命令必须是“永远”。和“;-c"Parameter是永远的参数,“;2>&1 &"面积代表“没有”。运行这一行后,您可以注销您的终端,重新登录并运行“永远”。voilaa……你可以重新启动,你可以确定如果脚本停止,那么永远会重新启动它。

我永远