你要退出終端會話時,要是存在被停止的進程,會出現警告信息。但如果使用了後臺進程,只有某些終端模擬器會在你退出終端會話前提醒你還有後臺作業在運行。 如果希望運行在後臺模式的腳本在登出控制台後能夠繼續運行,我再一篇文章中看到,有方法可以實現。 有時你會想在終端會話中啟動shell腳本,然後讓腳本一直以後 ...
你要退出終端會話時,要是存在被停止的進程,會出現警告信息。但如果使用了後臺進程,只有某些終端模擬器會在你退出終端會話前提醒你還有後臺作業在運行。 如果希望運行在後臺模式的腳本在登出控制台後能夠繼續運行,我再一篇文章中看到,有方法可以實現。 有時你會想在終端會話中啟動shell腳本,然後讓腳本一直以後臺模式運行到結束,即使你退出了終端會話。這可以用nohup命令來實現。nohup命令運行了另外一個命令來阻斷所有發送給該進程的SIGHUP信號。這會在退出終端會話時阻止進程退出。 nohup命令的格式如下: $ nohup ./test1.sh & [1] 3856 $ nohup: ignoring input and appending output to 'nohup.out' $ 和普通後臺進程一樣,shell會給命令分配一個作業號,Linux系統會為其分配一個PID號。區別在於,當你使用nohup命令時,如果關閉該會話,腳本會忽略終端會話發過來的SIGHUP信號。由於nohup命令會解除終端與進程的關聯,進程也就不再同STDOUT和STDERR聯繫在一起。為了保存該命令產生的輸出,nohup命令會自動將STDOUT和STDERR的消息重定向到一個名為nohup.out的文件中。 說明 如果使用nohup運行了另一個命令,該命令的輸出會被追加到已有的nohup.out文件中。當運行位於同一個目錄中的多個命令時一定要當心,因為所有的輸出都會被髮送到同一個nohup.out文件中,結果會讓人摸不清頭腦。 nohup.out文件包含了通常會發送到終端顯示器上的所有輸出。在進程完成運行後,你可以查看nohup.out文件中的輸出結果。 $ cat nohup.out This is a test script Loop 1 Loop 2 Loop 3 Loop 4 Loop 5 Loop 6 Loop 7 Loop 8 Loop 9 Loop 10 This is the end of the test script $ 輸出會出現在nohup.out文件中,就跟進程在命令行下運行時一樣。 作者:S-Gavin 出處:https://www.cnblogs.com/zwh-Seeking/
---------------------------------------
您的支持是我前進的動力!!!
如果覺得這篇文章對你有小小的幫助的話,記得在右下角點球球“推薦”哦,博主在此感謝!
萬水千山總是情,打賞一分行不行。若要你的心情好,請便右側賞博主。哈哈哈(っ•̀ω•́)っ✎⁾⁾!