JOBS

JOBS

Linux命令
jobs是Linux命令jobs命令顯示了當前shell環境中已啟動的作業狀态。jobs-l選項可顯示所有任務的PID,jobs的狀态可以是running,stopped,Terminated,但是如果任務被終止了(kill),shell從當前的shell環境已知的列表中删除任務的進程标識;也就是說,jobs命令顯示的是當前shell環境中所起的後台正在運行或者被挂起的任務信息。[1]
    外文名:jobs 用途:顯示當前會話的作業狀态 語法:jobs[-l|-n|-p]JobID 命令:在命令執行環境下執行就不會工作

命令描述

/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命令。

相關詞條

相關搜索

其它詞條