你是否遇到過這樣的情況:從終端軟件登錄遠程的Linux主機,將一堆很大的文件壓縮為一個.tar.gz文件,連續壓縮了半個小時還沒有完成,這時,突然你斷網了,你登錄不上遠程Linux主機了,那麼前面的半個小時就會前功盡棄,你非常氣憤……
在Linux下,如果你要執行的shell命令耗時特別長,並且:(1)你的網絡不穩定,隨時可能斷網;或者(2)你在執行了shell命令之後必須要關閉終端軟件(例如SecureCRT)。
那麼你就需要以脫離終端的方式在後台運行這個shell命令。
方法如下:
(1)輸入命令:
nohup 你的shell命令 &
(2)回車,使終端回到shell命令行;
(3)輸入exit命令退出終端:
exit
(4)現在可以關閉你的終端軟件了,等過足夠的時間,讓你的shell命令執行完了再上去看結果吧。
其中,nohup命令可以讓你的shell命令忽略SIGHUP信號,即可以使之脫離終端運行;“&”可以讓你的命令在後台運行。
以脫離終端的方式在後台運行shell命令有這樣幾個好處:只要你執行過了命令,那麼你的網絡中斷不會對你有任何影響,並且你就可以關閉終端軟件了。