1.最基礎(chǔ)的 nohup 方式
這是最簡(jiǎn)單的方式,也是 linux 新手們很容易搞混淆的一個(gè)經(jīng)典問(wèn)題:
command
command > /dev/null
command > /dev/null 2>&1
command &
command > /dev/null &
command > /dev/null 2>&1 &
command &> /dev/null
nohup command &> /dev/null
請(qǐng)回答以上命令的異同……
具體不一一解釋了。直接說(shuō)答案,想要維持一個(gè)長(zhǎng)期后臺(tái)運(yùn)行的 logstash,你需要同時(shí)在命令前面加 nohup,后面加 &。
nohup不掛斷的運(yùn)行,注意并沒(méi)有后臺(tái)運(yùn)行的功能就是指,用nohup運(yùn)行命令可以使命令永久的執(zhí)行下去,和用戶終端沒(méi)有關(guān)系,例如我們斷開(kāi)SSH連接都不會(huì)影響他的運(yùn)行,注意了nohup沒(méi)有后臺(tái)運(yùn)行的意思;&才是后臺(tái)運(yùn)行。
2.舉例
sh test.sh &
復(fù)制
將sh test.sh任務(wù)放到后臺(tái) ,即使關(guān)閉xshell退出當(dāng)前session依然繼續(xù)運(yùn)行,但標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤信息會(huì)丟失(缺少的日志的輸出)。將sh test.sh任務(wù)放到后臺(tái) ,關(guān)閉xshell,對(duì)應(yīng)的任務(wù)也跟著停止。
nohup sh test.sh
復(fù)制
將sh test.sh任務(wù)放到后臺(tái),關(guān)閉標(biāo)準(zhǔn)輸入,終端不再能夠接收任何輸入(標(biāo)準(zhǔn)輸入),重定向標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤到當(dāng)前目錄下的nohup.out文件,即使關(guān)閉xshell退出當(dāng)前session依然繼續(xù)運(yùn)行。
nohup sh test.sh &
復(fù)制
將sh test.sh任務(wù)放到后臺(tái),但是依然可以使用標(biāo)準(zhǔn)輸入,終端能夠接收任何輸入,重定向標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤到當(dāng)前目錄下的nohup.out文件,即使關(guān)閉xshell退出當(dāng)前session依然繼續(xù)運(yùn)行。
3.語(yǔ)法
nohup command > myout.file 2>&1 &
在上面的例子中,0 – stdin (standard input),1 – stdout (standard output),2 – stderr (standard error) ;文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-506664.html
2>&1是將標(biāo)準(zhǔn)錯(cuò)誤(2)重定向到標(biāo)準(zhǔn)輸出(&1),標(biāo)準(zhǔn)輸出(&1)再被重定向輸入到myout.file文件中。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-506664.html
到了這里,關(guān)于Linux:Nohup命令詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!