命令描述
/usr/bin/jobs,因为此环境没有适用的作业来处理。基于这个原因,jobs命令实现为一个Kornshell或POSIXshell的常规内建命令。
如果指定了-p标志,对于每一个进程标识,输出构成一行。如果没有指定标志,标准输出为带以下字段的几行:
job-number指出进程组号,以和wait、fg、bg和kill命令一起使用。当和这些命令一起使用时,在作业号前面加上一个“%”(百分号标志)。
current一个“+”(加标志)标识了将被fg或bg命令作为缺省值使用的作业。这个作业标识也能够使用%+(百分号、加号)或%%(双百分号)来指定。
如果当前缺省作业退出,就用一个“-”(减号标志)来标识将要成为缺省作业的作业。这个作业标识也可以用%-(百分号、减号)来指定。
对于其他的作业,current字段是一个空格字符。仅一个作业能够用+来标识,并且仅一个作业能够用一个-来标识。如果有一个单一挂起作业,它就成为当前作业。如果存在至少两个挂起的作业,那么前面的作业被挂起。
state显示以下值之一(在POSIX的语言环境下):
Running
表示此作业没有被信号挂起并没有退出。
Done
表示此作业已经完成并返回退出状态0。
Done(code)
表示此作业已经正常完成和退出并返回指定的非零退出状态码。这个代码用一个十进制数来表示。
Stopped
表示此作业已经挂起。
Stopped(SIGTSTP)
表示SIGTSTP信号挂起作业。
Stopped(SIGSTOP)
表示SIGSTOP信号挂起作业。
Stopped(SIGTTIN)
表示SIGTTIN信号挂起作业。
Stopped(SIGTTOU)
表示SIGTTOU信号挂起作业。
command给shell的有关命令。
如果指定了-l标志,就把一包含进程组标识的字段插入到state字段之前。另外,在一个进程组中更多的进程可以输出到一些独立行中,只使用job-number和command字段。
标志
-l(小写L)提供了更多的关于列出的每一个作业的信息。此信息包括了作业号、当前作业、进程组标识、状态和启动作业的命令。
-n显示自从最后一次通知后停止或退出的作业。
-p显示了所选定的作业的进程组引导符的进程标识。
在缺省情况下,jobs命令显示了所有已停止作业的状态、所有的在后台正在运行的作业和那些状态已经更改但没有被shell报告的作业。
退出状态
返回下面的退出值:
0成功完成。
>0发生一个错误。
命令示例
1.要显示当前环境下的作业的状态,请输入:
jobs-l
屏幕输出与以下输出类似的报告:
+[4]139RunningCC-Cfooc&
-[3]465Stoppedmailmorris
[2]687Done(1)foo.bar&
2.要显示那些名字以“m”打头的作业的进程标识,请输入:
job-p%m
使用示例1中报告的作业,屏幕显示以下进程标识:
465
文件
/usr/bin/ksh包含Kornshelljobs内置命令。
/usr/bin/jobs包含jobs命令。