nohup 與 的區別及用法

2021-09-02 09:18:14 字數 1541 閱讀 9276

nohup

如果你正在執行乙個程序,而且你覺得在退出帳戶時該程序還不會結束,那麼可以使用n o h u p命令。該命令可以在你退出帳戶之後繼續執行相應的程序。n o h u p就是不掛起的意思( no hang up)。 在linux/unix下,只有守護程序在脫離終端後能繼續執行,而普通程序在關閉終端時會因收到sighup訊號(掛起訊號)而退出。因此,為了長時間執行普通程序,需要使用nohup命令。

該命令的一般形式為:

**:

nohup command &

使用nohup命令提交作業 

如果使用n o h u p命令提交作業,那麼在預設情況下該作業的所有輸出都被重定向到乙個名為nohup.out的檔案中,nohup.out檔案缺 省寫在當前目錄下,如果在該目錄下無寫許可權,則試圖寫到$home/nohup.out中,如果仍然失敗,整個命令執行失敗。

另外指定了輸出檔案:

**:

nohup command > myout.file 2>&1

在上面的例子中,輸出被重定向到m y o u t . f i l e檔案中。 

讓我們來看乙個例子,驗證一下在退出帳戶後相應的作業是否能夠繼續執行。我們先提交乙個名為p s 1的日誌清除程序: 

**:

$nobup ps1 &

現在退出該s h e l l,再重新登入,然後執行下面的命令: 

**:

$ps x |grep ps1

我們看到,該指令碼還在執行。如果系統不支援ps x命令,使用ps -ef|grep ps1命令。

5.一次提交幾個作業 

如果希望一次提交幾個命令,最好能夠把它們寫入到乙個s h e l l指令碼檔案中,並用n o h u p命令來執行它。 

例如,下面的所有命令都用管道符號連線在一起;我們可以把這些命令存入乙個檔案,並使該檔案可執行。 

**:

現在讓它可執行: 

**:

$ chmod 744 quarterend

我們還將該指令碼的所有輸出都重定向到乙個名為q t r. o u t的檔案中。 

**:

nobup ./quarterend > qtr.out 2>

nohup與&的區別:

nohup只是讓命令忽略sighup命令而已;&則讓命令在後台執行,至於該命令是否能在脫離終端後繼續執行則要看程序是否是守護程序,如果不是,則需要nohup來幫忙。

這裡是重點。讓我在工作上失誤

後台執行作業的: 

有時我們必須要對大檔案進行大量更改,或執行一些複雜的查詢,這些工作最好能夠在系統負荷較低時執行。 

建立乙個定時清理日誌檔案或完成其他特殊工作的指令碼,這樣只要提交一次,就可以每天晚上執行,而且無需你干預,只要看看相應的指令碼日誌就可以了。c r o n和其他工具可以使系統管理任務變得更輕鬆。

Nohup 與 的區別

1 sighup 程式終止 interrupt 訊號,在使用者鍵入 intr 字元 通常是 ctrl c 時發出,用於通知前台程序組終止程序。使用 後台執行程式 結果會輸出到終端 使用 ctrl c 傳送 sigint 訊號,程式免疫 關閉 session 傳送 sighup 訊號,程式關閉 使用 ...

nohup命令的用法

linux的nohup命令的用法。在應用unix linux時,我們一般想讓某個程式在後台執行,於是我們將常會用 在程式結尾來讓程式自動執行。比如我們要執行mysql在後台 usr local mysql bin mysqld safe user mysql 可是有很多程式並不想mysqld一樣,這...

nohup和 的區別

nohup是永久執行 是指在後台執行 執行 nohup help run command,ignoring hangup signals.可以看到是 執行命令,忽略掛起訊號 就是指,用nohup執行命令可以使命令永久的執行下去,和使用者終端沒有關係,例如我們斷開ssh連線都不會影響他的執行,注意了n...