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 &
表示后台不間斷運行命令,並且標准輸出和錯誤輸出都進了“黑洞“(也就是靜默形式運行命令)