在應(yīng)用Unix/Linux時(shí),我們一般想讓某個(gè)程序在后臺(tái)運(yùn)行,于是我們將常會(huì)用 & 在程序結(jié)尾來(lái)讓程序自動(dòng)運(yùn)行。比如我們要在后臺(tái)運(yùn)行一個(gè)aaa.sh的腳本: [root @CC02 /]# ./aaa.sh &
可是當(dāng)我們注銷或者屏保后,這個(gè)腳本就會(huì)自動(dòng)停止,這時(shí)我們就需要nohup命令,怎樣使用nohup命令呢?請(qǐng)看: [root@mail01 script]# nohup ./aaa.sh &
注意:只有當(dāng)虛擬終端是 $ 或者 # 時(shí)候(如下圖所示),才可關(guān)閉此終端,否則可能導(dǎo)致已經(jīng)啟動(dòng)的進(jìn)程被關(guān)閉(如果程序持續(xù)輸出信息而沒(méi)有出現(xiàn) $ 或 #,按一下enter即可) 原程序的的標(biāo)準(zhǔn)輸出被自動(dòng)改向到當(dāng)前目錄下的nohup.out文件,起到了log的作用。 [root@mail01 script]# ll
附:nohup命令參考 nohup 命令 用途:不掛斷地運(yùn)行命令。 語(yǔ)法:nohup Command [ Arg … ] [ & ] 描述:nohup 命令運(yùn)行由 Command 參數(shù)和任何相關(guān)的 Arg 參數(shù)指定的命令,忽略所有掛斷(SIGHUP)信號(hào)。在注銷后使用 nohup 命令運(yùn)行后臺(tái)中的程序。要運(yùn)行后臺(tái)中的 nohup 命令,添加 & ( 表示”and”的符號(hào))到命令的尾部。 無(wú)論是否將 nohup 命令的輸出重定向到終端,輸出都將附加到當(dāng)前目錄的 nohup.out 文件中。如果當(dāng)前目錄的 nohup.out 文件不可寫,輸出重定向到 $HOME/nohup.out 文件中。如果沒(méi)有文件能創(chuàng)建或打開(kāi)以用于追加,那么 Command 參數(shù)指定的命令不可調(diào)用。如果標(biāo)準(zhǔn)錯(cuò)誤是一個(gè)終端,那么把指定的命令寫給標(biāo)準(zhǔn)錯(cuò)誤的所有輸出作為標(biāo)準(zhǔn)輸出重定向到相同的文件描述符。 退出狀態(tài):該命令返回下列出口值: 126 可以查找但不能調(diào)用 Command 參數(shù)指定的命令。 127 nohup 命令發(fā)生錯(cuò)誤或不能查找由 Command 參數(shù)指定的命令。 否則,nohup 命令的退出狀態(tài)是 Command 參數(shù)指定命令的退出狀態(tài)。 nohup命令及其輸出文件 nohup命令:如果你正在運(yùn)行一個(gè)進(jìn)程,而且你覺(jué)得在退出帳戶時(shí)該進(jìn)程還不會(huì)結(jié)束,那么可以使用nohup命令。該命令可以在你退出帳戶/關(guān)閉終端之后繼續(xù)運(yùn)行相應(yīng)的進(jìn)程。nohup就是不掛起的意思( n ohang up)。 該命令的一般形式為:[root @apps /]# nohup command &
使用nohup命令提交作業(yè) 如果使用nohup命令提交作業(yè),那么在缺省情況下該作業(yè)的所有輸出都被重定向到一個(gè)名為nohup.out的文件中,除非另外指定了輸出文件: nohup command > myout.file 2>&1 & 在上面的例子中,輸出被重定向到myout.file文件中。 使用 jobs 查看任務(wù)。 使用 fg %n 關(guān)閉。 |
|