jobs 命令

介绍

jobs 命令用于查看当前终端(tty)的任务列表及任务状态,包括后台运行的任务。

该命令可以显示任务号及其对应的进程号。其中,任务号是以普通用户的角度进行的,而进程号则是从系统管理员的角度来看的。一个任务可以对应于一个或者多个进程号。

在 Linux 系统中执行某些操作时候,有时需要将当前任务暂停调至后台(CTRL+Z),或有时需要将后台暂停的任务重启开启并调至前台,这一系列的操作将会使用到 jobsbgfg 三个命令以及快捷键来完成。

语法

jobs [选项] [参数]

选项

  • -l:显示进程号
  • -p:仅任务对应的显示进程号
  • -n:显示任务状态的变化
  • -r:仅输出运行状态(running)的任务
  • -s:仅输出停止状态(stoped)的任务

参数:指定要显示的任务识别号

示例

打开终端,此时任务列表为空,执行 jobs 不会有任何输出。假设当前目录下有一张 GetIoT.png 图片,执行如下命令将其打开,以创建一个任务。

$ eog GetIoT.png

该任务将占用当前终端,按 CTRL+Z 键暂停任务,查看当前任务列表:

$ jobs
[1]+  已停止               eog GetIoT.png

-l 显示进程号:

$ jobs -l
[1]+ 22702 停止                  eog GetIoT.png

输出信息的第1列表示任务编号,第2列表示任务所对应的进程号,第3列表示任务的运行状态,第4列表示启动任务的命令。

此时任务进入处于停止状态,执行 bg 将任务从后台启动:

$ bg
[1]+ eog GetIoT.png &

再次查看任务列表:

$ jobs -l
[1]+ 22702 运行中               eog GetIoT.png &

执行 fg 将任务调到前台:

$ fg
eog GetIoT.png

按 CTRL+C 终止程序。

Leave a Reply