以下两者有何区别:
nohup bin/admin/release.sh > /users/john/release_output 2>&1 &
和
bin/admin/release.sh > /users/john/release_output &
我想运行 release.sh 并在后台运行它(即使我关闭 shell 窗口它也应该继续工作),我还想将输出保存到我的主目录 (/users/john/) 中的 release_output
答案1
- trailing
&
在后台运行该进程。这样做的重要方面是,您无需等待脚本完成即可获得命令提示符,因此无需等待即可发出注销命令。 - 这
2>&1
确保当 STDERR 的目标(终端/tty)断开连接时,进程不会收到“管道断开”信号(但我认为nohup
可以解决这个问题)。如果愿意,您可以将 STDERR 重定向到单独的文件。 nohup
确保在关闭相关终端会话时不会向进程发送 HUP(挂断)信号。
如果您阅读了手册页,nohup
您就会发现它是专门为您想要做的事情而设计的。
答案2
如果您想在后台运行它并且即使用户注销也能继续运行,那么它就nohup
可以满足您的需求。