轉:nohup 和>/dev/null 2>&1
一、用途:nohup表示永久運行。&表示后台運行
在應用Unix/Linux時,我們一般想讓某個程序在后台運行,nohup ./start-mysql.sh &
該命令的一般形式為:nohup command &
在缺省情況下該作業的所有輸出都被重定向到一個名為nohup.out的文件中,除非另外指定了輸出文件:
nohup command > myout.file 2>&1 &
在上面的例子中,輸出被重定向到myout.file文件中。
二、>/dev/null 2>&1
/dev/null 代表空設備文件,也就是不輸出任何信息到終端,說白了就是不顯示任何信息。
> 代表重定向到哪里
1 表示stdout標准輸出,系統默認值是1,所以">/dev/null"等同於"1>/dev/null"
2 表示stderr標准錯誤
& 表示等同於的意思,2>&1,表示2的輸出重定向等同於1
nohup ./mqnamesrv >/home/cxb/mqnamesrv.out 2>&1 &
即標准輸出到mqnamesrv.out中,接着,標准錯誤輸出重定向等同於標准輸出,輸出到同一文件中。
三、使用 jobs 查看任務。
使用 fg %n 關閉。
四、sh xxx.sh與./xxx.sh區別
sh xxx.sh是用sh 執行start.sh,start.sh可以沒有執行標志,可以不用加./,可以不用在腳本第一行寫上#!/bin/sh
./start.sh是調用腳本第一行制定的shell去解釋執行,缺省為sh,就是bash
本文參考了https://blog.csdn.net/chang_li/article/details/54138207