当我运行nohup some_command &时,输出到nohup.out;男人nohup说,看看信息nohup,它反过来说:

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

但是如果我已经有一个命令使用nohup,输出到/nohup。我想运行另一个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-node(与文件名独立存储),因此可以重命名默认的nohup。在启动nohup之后,任何时间都可以输出到任何其他文件名&。所以也可以这样做:

$ nohup something&
$ mv nohup.out nohup2.out
$ nohup something2&

现在,一些代码向nohup2添加了行数。出去,出去。

以上方法将在运行以上nohup命令时删除输出文件数据。

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

nohup your_command >> filename.out &

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

我的start.sh文件:

#/bin/bash

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

只有一件重要的事。第一个命令必须是“nohup”,第二个命令必须是“forever”,“-c”参数是“forever”的参数,“2>&1 &”区域是“nohup”。在运行这一行之后,你可以从你的终端注销,重新登录并运行“永远重新启动”,瞧…你可以重新启动,你可以确定如果脚本停止,那么永远会重新启动它。

I永远<3