nohup
(no hang up)是一個(gè)Linux命令,用于在后臺(tái)運(yùn)行程序,即使關(guān)閉終端后程序也不會(huì)停止。要防止進(jìn)程中斷,可以使用nohup
命令。以下是如何使用nohup
命令的基本步驟:
打開(kāi)終端。
使用nohup
命令運(yùn)行程序,后面跟上要運(yùn)行的程序及其參數(shù)。例如,要運(yùn)行名為my_script.sh
的腳本,可以使用以下命令:
nohup ./my_script.sh &
這將在后臺(tái)運(yùn)行my_script.sh
,并將輸出重定向到名為nohup.out
的文件中。&
符號(hào)表示將程序放入后臺(tái)運(yùn)行。
要防止進(jìn)程中斷,可以使用以下方法:
將程序放入后臺(tái)運(yùn)行:如上所示,使用&
符號(hào)將程序放入后臺(tái)運(yùn)行。
忽略掛起信號(hào):nohup
命令會(huì)自動(dòng)忽略掛起(SIGHUP)信號(hào)。掛起信號(hào)通常用于在終端關(guān)閉時(shí)終止進(jìn)程。通過(guò)忽略此信號(hào),可以防止進(jìn)程中斷。
將輸出重定向到文件:將程序的輸出重定向到一個(gè)文件,以便在程序運(yùn)行時(shí)檢查輸出。這可以幫助您了解程序的運(yùn)行情況,并在出現(xiàn)問(wèn)題時(shí)進(jìn)行調(diào)試。在上面的示例中,輸出被重定向到名為nohup.out
的文件。
使用disown
命令:在將程序放入后臺(tái)運(yùn)行后,可以使用disown
命令將其從當(dāng)前shell的作業(yè)列表中刪除。這將防止在關(guān)閉終端時(shí)自動(dòng)終止進(jìn)程。要使用disown
命令,請(qǐng)按照以下步驟操作:
nohup ./my_script.sh &
disown %1
這將把剛剛在后臺(tái)運(yùn)行的進(jìn)程從當(dāng)前shell的作業(yè)列表中刪除,從而防止在關(guān)閉終端時(shí)自動(dòng)終止進(jìn)程。