📜  将作业号带到前台 linux - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:53:47.221000             🧑  作者: Mango

将作业号带到前台

在使用Linux终端时,我们可以在后台运行一个进程,在终端不中断的情况下,继续执行其他操作。但是如果我们想要回到之前在后台运行的进程,就需要将其作业号(jobs number)带到前台。

jobs命令

在Linux终端中,我们可以使用jobs命令查看当前正在后台运行的进程。该命令会列出所有当前正在后台运行的进程及其作业号。

$ jobs
[1]-  Running                 sleep 100 &
[2]+  Running                 vim &

上述示例中,我们可以看到两个正在后台运行的进程。其中[1][2]就是它们的作业号。

fg命令

要将后台运行的进程调到前台,可以使用fg命令。将fg命令和相应的作业号一起使用即可。

$ fg %1
sleep 100

上述示例中,我们使用fg %1命令将作业号为1的进程带到前台。可以看到终端中再次出现了sleep 100的输出。

如果我们只输入fg命令,而不指定作业号,则默认将最后一个后台进程带到前台。

$ fg
sleep 100
结束进程

当我们将后台运行的进程带到前台后,想要结束这个进程,可以使用Ctrl+C组合键或kill命令。

$ kill %1
[1]+  Terminated: 15          sleep 100

上述示例中,我们使用kill %1命令结束作业号为1的进程sleep 100

将后台进程带到前台的完整流程
  1. 在终端运行一个进程,并将其放到后台运行:
$ sleep 100 &
[1] 30453

上述示例中,我们使用sleep命令在后台运行了一个等待100秒的进程,并将其作业号设定为1。

  1. 使用jobs命令查看当前后台运行的进程:
$ jobs
[1]+  Running                 sleep 100 &
  1. 使用fg命令将进程带到前台:
$ fg %1
sleep 100
  1. 对进程执行操作,例如Ctrl+C结束进程:
^C
  1. 再次使用jobs命令可以看到该进程已经被结束:
$ jobs

参考文献: Linux Shell 教程