nohub的命令的作用是可以将程序以忽略挂起信号的方式运行。常见的用法是与&一起使用,将命令放到后台运行,并且终端挂掉之后还会运行。
将程序放到后台运行用两中方法:
command & :后台运行,关掉终端之后程序会停止。
nohub command & :后台运行,关掉终端程序不会停止,还会继续运行。
注意点:
如果使用nohub执行程序未显示进行标准输出流重定向,则标准输出流默认重定向到当前工作目录的nohub.out文件中。如果当前工作目录的nohub.out文件不可写,输出重定向到$HOME/nohub.out文件中。如果没有文件能创建或者打开用于追加,那么command参数指定的命令不可调用。
如果标准错误未显示重定向,那么标准错误默认重定向到与标准输出相同的文件。
通常nohun & 会将日志输出到指定文件中:
nohub ./test.sh > test.log &
标准输出与标准错误输出重定向:
nohub ./test.sh > test.log 2>&1 &
1) 2>&1 标识标准错误输出重定向等同于标准输出重定向,及标准错误输出也重定向到文件test.log中。
2)&命令是命令放在后台执行