Linux jobs 命令
jobs 命令主要用于显示系统中的任务列表及运行状态。在 Linux 中,每一个 job 都有一个唯一 ID,系统管理员通过任务 ID 对任务进行管理,可使其在前后或后台运行。通常任务和进程是等价的,只在于说侧重不同。即任务之于用户,相应地,进程之于系统。
语法及选项
jobs 命令的语法如下:
| |
- -l:在标准信息显示的基础上添加任务 ID 信息
- -n:只显示与上一次显示状态不同的任务
- -p:只显示任务 ID
- -r:显示运行中的任务
- -s:显示暂停中的任务
以 sleep 命令为例:
fg 和 bg
fg(foreground)可以将一个任务转置前台运行,相反地,bg(background)则可以将一个任务转置后台运行。两个命令的语法分别如下:
JOB_SPEC 可以是以下形式:
- %n:n 是任务 ID
- %abc:以 abc 开头命令启动的任务
- %?abc:以包含 abc 命令启动的任务
- %:特指上一个任务
首先,编写一个 shell 脚本,实现的是每隔离 1s 打印一次 hello world。然后,后台执行该脚本并使用 fg 和 bg 进行管理。最后,使用 ctrl+c 结束任务的执行。
步骤一:后台运行 abc.sh
步骤二:fg 命令使其在前台运行
步骤三:Ctrl+Z 暂停运行
| |
步骤四:bg 命令使其在后台运行
步骤五:Ctrl+C 结束运行