想讓進程后臺運行,試試Linux的nohup命令,3分鐘學(xué)會。
1.命令簡介
nohup 的作用可以將程序以忽略掛起信號(SIGHUP)的方式運行。常見的用法是和 & 命令一同使用,將命令放置到后臺運行,即使終端掛掉,進程會忽略掛起信號,繼續(xù)運行。
將程序放到后臺運行,一般有兩種方式:
(1)command &:后臺運行,關(guān)掉終端會停止運行。
(2)nohup command & :后臺運行,關(guān)掉終端也會繼續(xù)運行。
注意:
(1)如果使用nohup執(zhí)行程序未顯示進行標(biāo)準(zhǔn)輸出重定向,則標(biāo)準(zhǔn)輸出默認重定向當(dāng)前工作目錄的 nohup.out 文件中。如果當(dāng)前工作目錄的 nohup.out 文件不可寫,輸出重定向到 $HOME/nohup.out 文件中。如果沒有文件能創(chuàng)建或打開用于追加,那么 command 參數(shù)指定的命令不可調(diào)用。
(2)如果標(biāo)準(zhǔn)錯誤未顯示重定向,那么標(biāo)準(zhǔn)錯誤默認重定向到與標(biāo)準(zhǔn)輸出相同的文件。
2.命令格式
nohup?COMMAND?[ARGS]
nohup?OPTION
3選項說明
--help
?顯示幫助信息并退出
--version
?顯示版本信息并退出
4.常用示例
(1)使用nohup 命令提交作業(yè),那么在缺省情況下該作業(yè)的所有輸出都被重定向到一個名為nohup.out的文件中,除非另外指定了輸出文件。
nohup?./test.sh?&
(2)標(biāo)準(zhǔn)輸出與標(biāo)準(zhǔn)錯誤輸出重定向。
nohup?./test.sh?>?test.log?2>&1?&
(3)指定輸出文件, 輸出被重定向到output.txt文件中
[deng@itcast?~]$?nohup?bash?a.sh?&>?error.txt
[deng@itcast?~]$?
注意:
(1)2>&1 標(biāo)識標(biāo)準(zhǔn)錯誤輸出重定向等同于標(biāo)準(zhǔn)輸出重定向,即標(biāo)準(zhǔn)錯誤輸出也重定向到文件test.log;
(2)& 命令是命令放在后臺執(zhí)行,需要放在命令的最后面。
↓↓↓↓點擊下方獲取源碼和教程↓↓↓↓
