Linux下使Shell 命令脫離終端在後台執行

2021-07-11 08:21:52 字數 757 閱讀 2809

用python寫了乙個的小監控程式,監控公司生產系統對外web訪問的狀況,以及某個特定業務的狀況。

程式部署在阿里雲的一台虛擬機器上,簡單的用終端命令開啟,結果幾天後發現監控程式才執行幾個小時就退出了,原來是terminal session過期後,程式自動退出。

linux下使shell 命令脫離終端在後台執行

你是否遇到過這樣的情況:從終端軟體登入遠端的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命令有這樣幾個好處:只要你執行過了命令,那麼你的網路中斷不會對你有任何影響,並且你就可以關閉終端軟體了。

Linux下使Shell 命令脫離終端在後台執行

因為我購買的乙個國外主機居然開放了telnet許可權,因此我也使用telnet登入上去玩玩linux,但發現一關閉視窗就自動和主機斷開了,和windows的終端不一樣,所以就上網找啊找,找到了乙個從後台一直執行某個程式的方法。unix linux下一般比如想讓某個程式在後台執行,很多都是使用 在程式...

Linux下使Shell 命令脫離終端在後台執行

我們都知道,在 windows 上面,我們要麼讓乙個程式作為服務在後台一直執行,要麼停止這個服務。而不能讓程式在前台後台之間切換。而 linux 提供了 fg fore ground 和 bg 命令,讓我們輕鬆排程正在執行的任務。假設你發現前台執行的乙個程式需要很長的時間,但是需要幹其他的事情,你就...

linux下shell指令碼中sed命令使用變數

用linpack做測試,寫了乙個指令碼,因為每次可修改的引數寫在了配置檔案裡,所以指令碼裡用sed命令來修改配置檔案 測試次數 echo input number of tests read numt 每次測試的資料規模,測試次數有多少次,這裡應該又多少組數字,中間以空格隔開 echo input ...