Linux bg 命令实战示例

LinuxLinuxBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在本实验中,你将学习如何在 Linux 中使用 bg 命令来管理后台进程。bg 命令用于将挂起(停止)的任务移动到后台,从而允许你继续在前台工作。你将学习如何挂起前台进程、将其移动到后台,以及如何列出和管理后台进程。本实验涵盖了 bg 命令的用途和语法,并提供了实际使用示例。

Linux 命令速查表


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("`Linux`")) -.-> linux/BasicSystemCommandsGroup(["`Basic System Commands`"]) linux(("`Linux`")) -.-> linux/ProcessManagementandControlGroup(["`Process Management and Control`"]) linux/BasicSystemCommandsGroup -.-> linux/sleep("`Execution Delaying`") linux/ProcessManagementandControlGroup -.-> linux/jobs("`Job Managing`") linux/ProcessManagementandControlGroup -.-> linux/bg_running("`Background Running`") linux/ProcessManagementandControlGroup -.-> linux/fg("`Job Foregrounding`") linux/ProcessManagementandControlGroup -.-> linux/kill("`Process Terminating`") linux/ProcessManagementandControlGroup -.-> linux/killall("`Multi-Process Killing`") linux/ProcessManagementandControlGroup -.-> linux/pkill("`Pattern-Based Killing`") linux/ProcessManagementandControlGroup -.-> linux/wait("`Process Waiting`") linux/ProcessManagementandControlGroup -.-> linux/bg_process("`Background Management`") subgraph Lab Skills linux/sleep -.-> lab-422574{{"`Linux bg 命令实战示例`"}} linux/jobs -.-> lab-422574{{"`Linux bg 命令实战示例`"}} linux/bg_running -.-> lab-422574{{"`Linux bg 命令实战示例`"}} linux/fg -.-> lab-422574{{"`Linux bg 命令实战示例`"}} linux/kill -.-> lab-422574{{"`Linux bg 命令实战示例`"}} linux/killall -.-> lab-422574{{"`Linux bg 命令实战示例`"}} linux/pkill -.-> lab-422574{{"`Linux bg 命令实战示例`"}} linux/wait -.-> lab-422574{{"`Linux bg 命令实战示例`"}} linux/bg_process -.-> lab-422574{{"`Linux bg 命令实战示例`"}} end

理解 bg 命令的用途和语法

在这一步中,你将学习 Linux 中 bg 命令的用途和语法。bg 命令用于将挂起(停止)的任务移动到后台,从而允许你继续在前台工作。

首先,让我们在前台启动一个进程,然后使用 Ctrl+Z 组合键将其挂起:

$ sleep 60
^Z
[1]+ Stopped sleep 60

如你所见,sleep 60 命令已被挂起,现在处于后台。

要将挂起的进程移动到后台,可以使用 bg 命令:

$ bg
[1]+ sleep 60 &

bg 命令会恢复挂起的进程并将其移动到后台,从而允许你继续在前台工作。

你也可以使用 bg 命令加上任务编号来将特定的挂起进程移动到后台。例如,如果你有多个挂起的进程,可以使用 bg 2 将第二个任务移动到后台。

示例输出:

[1]+ sleep 60 &

bg 命令的语法如下:

bg [job_id]

其中 job_id 是可选的任务编号,表示你想要移动到后台的挂起进程。如果未指定任务编号,bg 命令会将最近挂起的进程移动到后台。

挂起前台进程并将其移动到后台

在这一步中,你将学习如何挂起前台进程并使用 bg 命令将其移动到后台。

首先,让我们在前台启动一个长时间运行的进程:

$ sleep 120

sleep 120 命令正在运行时,按下 Ctrl+Z 来挂起该进程:

^Z
[1]+  Stopped                 sleep 120

现在,sleep 120 进程已被挂起并处于后台。要将其移动到后台,可以使用 bg 命令:

$ bg
[1]+ sleep 120 &

bg 命令会恢复挂起的进程并将其移动到后台,从而允许你继续在前台工作。

示例输出:

[1]+ sleep 120 &

你还可以使用 jobs 命令列出后台进程:

$ jobs
[1]+ Running sleep 120 &

这表明 sleep 120 进程现在正在后台运行。

列出和管理后台进程

在这一步中,你将学习如何使用 jobsfg 命令列出和管理后台进程。

首先,让我们启动几个后台进程:

$ sleep 60 &
[1] 12345
$ sleep 120 &
[2] 12346
$ sleep 180 &
[3] 12347

要列出当前正在运行的后台进程,可以使用 jobs 命令:

$ jobs
[1] Running sleep 60 &
[2] Running sleep 120 &
[3] Running sleep 180 &

jobs 命令会显示每个后台进程的任务编号、状态和命令。

你还可以使用 jobs -l 命令获取有关后台进程的更详细信息:

$ jobs -l
[1] 12345 Running sleep 60 &
[2] 12346 Running sleep 120 &
[3] 12347 Running sleep 180 &

这包括每个后台进程的进程 ID (PID)。

要将一个后台进程切换到前台,可以使用 fg 命令并指定任务编号:

$ fg 2
sleep 120

fg 命令会将指定的后台进程切换到前台,从而允许你与其交互。

要停止一个后台进程,可以使用 kill 命令并指定从 jobs -l 命令中获取的进程 ID (PID):

$ kill 12346
[2]+ Terminated sleep 120

这将终止 PID 为 12346 的后台进程。

总结

在本实验中,你学习了 Linux 中 bg 命令的用途和语法,该命令用于将挂起(停止)的任务移动到后台,从而允许你继续在前台工作。你练习了使用 Ctrl+Z 挂起前台进程,然后使用 bg 命令将其移动到后台。你还学习了如何列出和管理后台进程,这对于运行长时间任务而不占用终端会话非常有用。

Linux 命令速查表

您可能感兴趣的其他 Linux 教程