Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Linux 背景執行、作業控制與進程管理完整指南

編輯:Linux 系統常見問題解答

掌握 Linux 前景/背景作業切換、暫停、恢復、查看與終止技巧,是系統管理與腳本開發的核心技能。本文系統整理 &、Ctrl+Z、jobs、fg、bg、kill、nohup 等關鍵指令與操作流程。

核心指令速查表

指令/按鍵功能典型使用場景
command &啟動命令並在背景執行長時間運行的腳本、服務啟動
Ctrl+Z暫停前景作業並移至背景 (停止狀態)臨時中斷當前操作去處理其他事務
jobs / jobs -l列出當前 Shell 的背景作業 (含 PID)查看有哪些作業在背景運行/暫停
fg %n將第 n 號背景作業調回前景繼續執行恢復需要互動的程式
bg %n將第 n 號暫停作業在背景恢復運行讓被暫停的程式繼續跑
kill %n / kill PID依作業編號或進程 ID 終止進程結束失控或不需要的程式
nohup command &免掛起執行,關閉終端機後仍持續運行長時間部署、訓練模型、備份任務

實戰操作流程範例

1. 背景啟動與查看

# 每 10 秒在背景執行一次測試腳本
watch -n 10 sh test.sh &
# 查看背景作業
jobs -l

2. 前景暫停移至背景

# 正在前景執行的程式按 Ctrl+Z 暫停
# 查看作業編號
jobs
# 在背景恢復運行
bg %1

3. 背景作業調回前景

# 將第 2 號作業調回前景
fg %2

4. 終止背景進程

# 方法一:透過 jobs 取得作業編號
jobs
kill %1

# 方法二:透過 ps 取得 PID
ps aux | grep test.sh
kill 12345

5. 免掛起長期運行

# 啟動免掛起進程
nohup sh test.sh &

# 關閉終端機後,在新終端機查看進程
ps aux | grep test.sh
# 終止進程
kill PID

關鍵觀念釐清

  • 前景進程終止:Ctrl+C 發送 SIGINT 訊號
  • 背景進程終止:使用 kill 發送 SIGTERM (預設) 或 SIGKILL (kill -9)
  • nohup 與 & 差異:單純 & 關閉終端機時進程會收到 SIGHUP 而終止;nohup 讓進程忽略 SIGHUP,實現真正的守護進程效果
  • jobs 只能看當前 Shell 啟動的作業;跨終端機查看需用 ps 或 pgrep
Copyright © Windows教程網 All Rights Reserved