nohup 命令
nohup 命令用于不挂断地运行命令 ,一般和 & 一起使用
命令格式:nohup command &
文件描述符
Linux 系统预留三个文件描述符:0、1 和 2,如下所示:
- 0——标准输入(stdin)
- 1——标准输出(stdout)
- 2——标准错误(stderr)
Linux 特殊文件
/dev/null:是一个特殊的设备文件,这个文件接收到任何数据都会被丢弃。因此,null 这个设备通常也被称为位桶(bit bucket)或黑洞。
所以,2>/dev/null 的意思就是将标准错误 stderr 删掉。
- 2>/dev/null: 把错误输出到“黑洞”
- >/dev/null 2>&1 : 默认情况是1,也就是等同于1>/dev/null 2>&1。意思就是把标准输出重定向到“黑洞”,还把错误输出2重定向到标准输出1,也就是标准输出和错误输出都进了“黑洞”
- 2>&1 >/dev/null : 把错误输出2重定向到标准输出1,也就是屏幕,标准输出进了“黑洞”,也就是标准输出进了黑洞,错误输出打印到屏幕
举例:
[root@hdp-01 ~]# nohup bin/hiveserver2 1>/dev/null 2>&1 &
表示后台不间断运行命令,并且标准输出和错误输出都进了“黑洞“(也就是静默形式运行命令)