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

2021-07-02 05:20:38 字數 1062 閱讀 7426

我們都知道,在 windows 上面,我們要麼讓乙個程式作為服務在後台一直執行,要麼停止這個服務。而不能讓程式在前台後台之間切換。而 linux 提供了 fg(fore ground) 和 bg 命令,讓我們輕鬆排程正在執行的任務。

假設你發現前台執行的乙個程式需要很長的時間,但是需要幹其他的事情,你就可以用 ctrl-z

,掛起這個程式,然後可以看到系統提示(方括號中的是作業號):[1]+ stopped /root/bin/rsync.sh

然後我們可以把程式排程到後台執行:(bg 後面的數字為作業號)#bg 1

[1]+ /root/bin/rsync.sh &

用 jobs 命令檢視正在執行的任務:#jobs

[1]+ running /root/bin/rsync.sh &

如果想把它調回到前台執行,可以用#fg 1

/root/bin/rsync.sh

這樣,你在控制台上就只能等待這個任務完成了。

bg用後如果要關閉控制台,需要先exit

fg、bg、jobs、&、ctrl + z都是跟系統任務有關的,雖然現在基本上不怎麼需要用到這些命令,但學會了也是很實用的

一。& 最經常被用到

這個用在乙個命令的最後,可以把這個命令放到後台執行

二。ctrl + z

可以將乙個正在前台執行的命令放到後台,並且暫停

三。jobs

檢視當前有多少在後台執行的命令

四。fg

將後台中的命令調至前台繼續執行

如果後台中有多個命令,可以用 fg %jobnumber將選中的命令調出,%jobnumber是通過jobs命令查到的後台正在執行的命令的序號(不是pid)

五。bg

將乙個在後台暫停的命令,變成繼續執行

如果後台中有多個命令,可以用bg %jobnumber將選中的命令調出,%jobnumber是通過jobs命令查到的後台正在執行的命令的序號(不是pid)

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

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

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

用python寫了乙個的小監控程式,監控公司生產系統對外web訪問的狀況,以及某個特定業務的狀況。程式部署在阿里雲的一台虛擬機器上,簡單的用終端命令開啟,結果幾天後發現監控程式才執行幾個小時就退出了,原來是terminal session過期後,程式自動退出。linux下使shell 命令脫離終端在...

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

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