天天看點

Linux 前背景程序切換

文章轉自 https://blog.csdn.net/java3344520/article/details/7324874,好文要頂,感謝分享!!!

當你用shell啟動一個程式時,往往他是在前台工作的。 例如經常用PUTTY連接配接到遠端伺服器執行腳本的時候,如果本地網絡中斷後,這個時候前台程序就結束了,比較的懊惱,必須重新執行。是以有必要進行前背景程序的切換。

Shell支援作用控制,有以下指令:

1. command  & 讓程序在背景運作

在Linux終端運作指令的時候,在指令末尾加上 & 符号,就可以讓程式在背景運作

(例如直接在終端裡輸入firefox,那麼會打開firefox,但當你關閉此終端或者ctrl+c強制終止時,firefox也随機關閉了。你可以在執行時後面加一個&,這樣就在背景工作了。)

2. jobs –l 檢視背景運作的程序

"n"為jobs檢視到的程序編号

[[email protected] ~]$ jobs -l

[1]+  4524 Stopped            ins.sh

jobs指令執行的結果,+表示是一個目前的作業,減号表是是目前作業之後的一個作業。

jobs -l選項可顯示所有任務的PID,jobs的狀态可以是running, stopped, Terminated

3. fg %n 讓背景運作的程序n到前台來

可以用 fg %[number] 指令把一個程式掉到前台運作

[[email protected] ~]$ fg %1

./tcpserv01

4. bg %n 讓程序n到背景去;

bg将一個在背景暫停的指令,變成繼續執行如果背景中有多個指令,可以用bg %jobnumber将選中的指令調出.

[[email protected] ~]$ bg %1

[[email protected] ~]$ jobs -l

[1]+  4524 Running           ins.sh

5.kill %n 終止背景程式

也可以直接終止背景運作的程式,使用 kill 指令

[[email protected] ~]$ kill %1

但是如果任務被終止了(kill),shell 從目前的shell環境已知的清單中删除任務的程序辨別;也就是說,jobs指令顯示的是目前shell環境中所起的背景正在運作或者被挂起的任務資訊。

繼續閱讀