Linux中如何管理后臺任務?jobs、bg、fg命令解析

linux 中,jobs、bg 和 fg 命令可協助管理后臺任務。1. jobs 用于查看當前終端中暫停或后臺運行的任務;2. bg %任務號 可將指定任務放至后臺運行,默認操作最近任務;3. fg %任務號 將后臺任務帶回前臺,默認亦操作最近任務。注意:僅限當前 shell 有效,交互式程序可能無法正常后臺運行,關閉終端將終止任務。

Linux中如何管理后臺任務?jobs、bg、fg命令解析

linux 中,如果你經常需要同時運行多個任務,比如下載文件、編譯代碼或者運行腳本,你可能會希望某些任務在后臺運行,騰出終端繼續做其他事情。這時候,jobs、bg 和 fg 這幾個命令就能派上用場了。

Linux中如何管理后臺任務?jobs、bg、fg命令解析


查看當前后臺任務:jobs 命令

當你在終端執行一個任務時,按下 Ctrl+Z 可以暫停它。此時你可以選擇讓它繼續在前臺運行,或者放到后臺去。但在這之前,你想知道有哪些任務已經停下了,這時候就用得上 jobs 命令。

Linux中如何管理后臺任務?jobs、bg、fg命令解析

輸入:

jobs

系統會列出當前 shell 會話中所有已停止或正在后臺運行的任務。輸出大概是這樣的:

Linux中如何管理后臺任務?jobs、bg、fg命令解析

[1]  Stopped                 sleep 300 [2]- Stopped                 vi notes.txt
  • [1] 是任務編號。
  • Stopped 表示這個任務目前是暫停狀態。
  • 后面是任務的具體命令。

小提示:只有在當前終端窗口啟動的任務才會被 jobs 顯示出來,不是全局的進程管理工具


把任務放到后臺運行:bg 命令

當你暫停了一個任務(比如按了 Ctrl+Z),你可以用 bg 命令把它丟到后臺繼續運行。使用方法如下:

bg %任務號

例如:

bg %1

這表示讓任務 1 在后臺恢復運行。如果沒有指定任務號,默認操作最近的一個任務。

常見操作步驟:

  • 按下 Ctrl+Z 暫停當前任務
  • 輸入 bg 讓它繼續在后臺跑
  • 然后你就可以繼續在終端干別的事了

需要注意的是,有些交互式任務(比如 vi)放到后臺可能無法正常運行,因為它們依賴標準輸入輸出。


把后臺任務帶回前臺:fg 命令

如果你有一個任務已經在后臺跑了,突然想看看它進展如何,可以用 fg 命令把它“拉回”前臺。

語法類似 bg:

fg %任務號

例如:

fg %2

這樣任務 2 就會重新占據你的終端窗口。和 bg 一樣,如果不加參數,默認處理最近的那個任務。

一些實用技巧:

  • 如果你不確定哪個任務在做什么,先用 jobs 看一眼
  • 想切換任務?暫停當前任務,用 bg 放后臺,再用 fg 切回來
  • 不小心把某個任務關掉了?試試 history 回找之前的命令重跑一遍

注意事項與小細節

這幾個命令雖然簡單,但也有一些容易忽略的地方:

  • 它們只對當前 shell 會話有效。一旦關閉終端,這些任務也會被終止。
  • 如果你想讓任務在終端關閉后依然運行,可以考慮搭配 nohup 或者 disown 使用。
  • 多個任務在后臺運行時,記得留意資源占用,避免系統卡頓。

基本上就這些。掌握好 jobs、bg、fg 的組合,能讓你在終端里更高效地線程工作。

? 版權聲明
THE END
喜歡就支持一下吧
點贊12 分享