0Pricing
Linux Command Line & Bash Scripting Mastery · 课时

作业控制(bg、fg、jobs)

掌握后台和前台进程的管理,在 Shell 会话中暂停、恢复并列出作业。

作业控制(bg、fg、jobs) 是 CoddyKit 上的免费 Linux Command Line & Bash Scripting Mastery 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Linux Command Line & Bash Scripting Mastery 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Linux Command Line & Bash Scripting Mastery 课程共包含 4 节课。

什么是作业控制?

欢迎学习作业控制!Linux shell 的这一强大功能可以让您管理正在运行的程序,而无需关闭终端或打开新的终端。

您可以把它理解为命令行中的多任务处理:您可以暂停任务、将其移到后台,或将其带回前台。

前台与后台

运行命令时,它通常会在前台运行。这意味着它会占用您的终端,在命令完成之前,您无法输入新命令。

不过,后台进程会独立运行。它会释放终端,让您可以在进程执行期间继续处理其他事务。

暂停进程(Ctrl+Z)

要暂停当前正在运行的前台进程,请使用键盘快捷键 Ctrl+Z。这会发送 SIGTSTP 信号,使进程暂停。

进程不会终止,而是变成一个“已停止”的作业,等待您告诉它下一步该做什么。

查看作业(jobs)

暂停进程(或将进程发送到后台)后,您可以使用 jobs 命令查看当前 Shell 会话中的所有活动作业。

每个作业都会获得一个唯一的作业编号(例如 [1]、[2] 等)及其状态(例如 Stopped、Running)。

sleep 50 &
sleep 60 &
jobs

调至前台(fg)

如果有已停止或在后台运行的作业,您可以使用 fg 命令并跟上作业编号(例如 %1),将其调回前台。

这样,该作业就会再次成为终端中的活动进程。

sleep 100 &
jobs
# Now, let's bring it to foreground
fg %1

发送到后台(bg)

要恢复一个已停止的作业并将其发送到后台,请使用带有作业编号的 bg 命令。

进程会继续运行而不会阻塞终端,您也会立即重新看到提示符。

sleep 200
# Press Ctrl+Z to stop it
# Then type:
bg %1
jobs

在后台运行( & )

您不必总是先在前台启动进程,再将其暂停。只需在命令末尾追加一个与号(&),即可直接将命令启动到后台。

对于不需要交互的长时间运行任务,这种方式非常方便。

echo "Starting long task..." &
sleep 300 &
jobs

作业编号与 PID

使用 jobs 时,您会看到类似 [1]、[2] 的作业编号。这些编号仅适用于当前 Shell 会话。

每个正在运行的进程也都有一个唯一的进程 ID(PID),这是系统范围内的编号。您可以使用 jobs -l 或 ps 查看 PID。

sleep 100 &
jobs -l

停止作业(kill)

要终止后台或已停止的作业,可以使用 kill 命令。您可以指定作业编号(例如 kill %1)或其 PID(例如 kill 12345)。

kill 会向进程发送信号。默认信号是 SIGTERM(正常终止)。若要强制终止,请使用 kill -9 %job_number 或 kill -9 PID。

sleep 500 &
jobs
# Assuming sleep is job 1:
kill %1
jobs

作业控制测验

您启动了一个长时间运行的命令(例如 find / -name *.txt),但现在需要收回终端以输入其他命令。要暂停 find 命令、将其发送到后台使其继续运行,然后确认它是后台作业,正确的操作顺序是什么?

回顾:作业控制

您已经掌握了作业控制!

  • Ctrl+Z会暂停前台进程。
  • jobs会列出所有活动作业。
  • fg %N会将作业 N 调至前台。
  • bg %N会将已停止的作业 N 发送到后台。
  • 在命令末尾追加&,即可直接在后台运行命令。
  • kill %N 或 kill PID会终止作业。

这样,您就可以在单个终端会话中高效管理多个任务!

常见问题解答

「作业控制(bg、fg、jobs)」课时是免费的吗?

是的 — 「作业控制(bg、fg、jobs)」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Linux Command Line & Bash Scripting Mastery 课程的其余内容,请升级到 CoddyKit PRO。 Linux Command Line & Bash Scripting Mastery 课程共包含 4 节课。

「作业控制(bg、fg、jobs)」这节课中我会学到什么?

掌握后台和前台进程的管理,在 Shell 会话中暂停、恢复并列出作业。 你通过在浏览器中直接运行的动手代码来练习 Linux Command Line & Bash Scripting Mastery,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Linux Command Line & Bash Scripting Mastery 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Linux Command Line & Bash Scripting Mastery 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。

「作业控制(bg、fg、jobs)」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Linux Command Line & Bash Scripting Mastery 课中编写并运行代码吗?

能。每节 Linux Command Line & Bash Scripting Mastery 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 作业控制(bg、fg、jobs)
  2. Shell 展开与通配
  3. 别名与自定义提示符
  4. Shell 函数与可复用代码片段
← 返回 Linux Command Line & Bash Scripting Mastery