Skip to content

Linux Shell 输出重定向并后台执行

nohup 命令和输出重定向

bash
nohup java -jar app.jar >log 2>&1 &

shell 上:

  • 0 表示标准输入

  • 1 表示标准输出

  • 2 表示标准错误输出

  • > 默认为标准输出重定向,与 1 > 相同

  • 2 >&1 意思是把 标准错误输出 重定向到 标准输出.

  • &> file 意思是把 标准输出 和 标准错误输出 都重定向到文件 file 中

  • 最后一个&表示把命令放到后台执行

每次都写 "> log 2 >&1" 太麻烦,能简写吗?

有以下两种简写方式

bash
&>log
>&log

上面小节中的写法就可以简写为

bash
nohup java -jar app.jar &>log &

Released under the MIT License.