=============================================================================
jobs命令主要用于显示系统中的任务列表及其运行状态。
该命令可以显示任务号及其对应的进程号,其中,任务号是以普通用户的角度进行的,而进程号则是从系统管理员的角度来看的。一个任务可以对应一个或者多个进程号。
列出活动的任务。JPBSPEC 限制仅输出指定的任务。
不带选项时,所有活动任务的状态都会显示。
选项:
-l 在正常信息基础上列出进程号
-n 列出上次通告之后改变了状态的进程
-p 仅列出进程号
-r 限制仅输出运行中的任务
-s 限制仅输出停止的任务
如果使用了 -x 选项,ARG 参数中的所有任务声明会被替换为该任务
的进程组头领的进程号,然后执行 COMMAND 命令。
退出状态:
返回成功,除非使用了无效的选项或者有错误发生。
如果使用 -x选项,则返回 COMMAND 命令的退出状态。
使用举例:
[deng@itcast ~]$ ping localhost -a > /dev/null &
[1] 3389
[deng@itcast ~]$ ping localhost -a > /dev/null &
[2] 3420
[deng@itcast ~]$ jobs
[1]- 运行中 ping localhost -a > /dev/null &
[2]+ 运行中 ping localhost -a > /dev/null &
[deng@itcast ~]$
解释下, > 是管道运算符, /dev/null是一个设备,信息不保存,就像一个黑洞,所以测试的时候使用它作为输出目的地很合适。
+ 表示 当前任务
- 表示 次任务
fg命令用于将后台作业(在后台运行的或者在后台挂起的作业)放到前台终端运行。
省略任务号,会把默认任务(当前任务)提到终端运行。
举例
[deng@itcast ~]$ jobs
[1] 运行中 ping localhost -a > /dev/null &
[2]- 运行中 ping localhost -a > /dev/null &
[3]+ 运行中 ping localhost -a > /dev/null &
[deng@itcast ~]$ fg 2
ping localhost -a > /dev/null
-
bg
命令用于将作业放到后台运行,使前台可以执行其他任务。该命令的运行效果与在指令后面添加符号&的效果是相同的,都是将其放到系统后台执行。 -
将默认的第一个暂停任务放在后台执行
[deng@itcast ~]$ sleep 3000 &
[1] 73361
[deng@itcast ~]$ sleep 3000 &
[2] 73398
[deng@itcast ~]$ fg 1
sleep 3000
^Z
[1]+ 已停止 sleep 3000
[deng@itcast ~]$ jobs
[1]+ 已停止 sleep 3000
最后
000
^Z
[1]+ 已停止 sleep 3000
[deng@itcast ~]$ jobs
[1]+ 已停止 sleep 3000
最后
[外链图片转存中…(img-QOoApdp4-1714414955396)]