在使用伺服器時,我們希望後台執行乙個程式,不占用當前視窗。ubuntu中可以使用nohup
命令實現這個功能。
nohup sh ./test.sh &
執行上述命令後,系統會在後台執行命令:sh test.sh
。同時,會生成輸出的日誌檔案,預設為nohup.out
檔案。這種命令方式有個缺點,隨著命令的執行,nohup.out
檔案占用記憶體越來越大。
建議按下面的方式執行nohup
命令:
nohup ./test >/dev/null 2>log &
nohup ./test >/dev/null 2>
&1 &
關於linux的重定向,linux的3種重定向
可以用來指定需要重定向的標準輸入或輸出。例如,將某個程式的錯誤資訊輸出到log檔案中:./program 2>log
。這樣標準輸出還是在螢幕上,但是錯誤資訊會輸出到log檔案中。另外,也可以實現0,1,2之間的重定向。2>&1
:將錯誤資訊重定向到標準輸出。/dev/null
說明:linux下還有乙個特殊的檔案/dev/null,它就像乙個無底洞,所有重定向到它的資訊都會消失得無影 無蹤。這一點非常有用,當我們不需要回顯程式的所有資訊時,就可以將輸出重定向到/dev/null。
Linux後台執行程式
shell command dev null 2 1 最後乙個符號 意思是讓程式在後台執行。dev null 的作用是將標準輸入轉向null,這樣就忽略當前的指令碼標準輸出。2 1 的作用是將標準錯誤連線至標準輸出,也將被忽略。一直不明白1 2的作用。原來!作業系統預設指定3個檔案 0標準輸入 1標...
shell 後台執行程式
1.最經常被用到 這個用在乙個命令的最後,可以把這個命令放到後台執行 2.ctrl z 可以將乙個正在前台執行的命令放到後台,並且暫停 3.jobs 檢視當前有多少在後台執行的命令 4.fg 將後台中的命令調至前台繼續執行 如果後台 中有多個命令,可以用 fg jobnumber將選中的命令調出,j...
Linux後台執行程式
在我們平常的時候執行程式的時候會產生很多的資訊,這些資訊有時候有用,有時候沒用,不過這些資料都會在該程式的log中儲存,所以把這些資訊放在前台就不是很好。我們可以將指令碼放在後台執行,不要將這些資訊顯示出來。將shell放入後台執行 比如 指令碼名稱 storm.sh 後台執行 storm.sh 這...