后台运行程序有下面两种方式
command &
: 后台运行,你关掉终端会停止运行nohup command &
: 后台运行,你关掉终端也会继续运行
以上面的方式运行时,标准输出还是会输出到shell中,我们一般都是需要对输出进行重定向到某个文件(如果不希望记录输出可以重定向到/dev/null)
nohup ls > /log/nuhup.log &
将标准输出重定向到nohup.log。
nohup ls > /dev/null &
在后台运行命令,并屏蔽标准输出。
上面的方式,只会将标准输出进行重定向,错误输出还是会输出到屏幕上,我们可以通过将错误输出重定向到标准输出的方式实现2>&1
。
nohup ls > /log/nuhup.log 2>&1 &
将标准输出和错误输出重定向到nohup.log。
nohup ls > /dev/null 2>&1 &
在后台运行命令,并屏蔽标准输出和错误输出。