jobs命令  显示了当前 shell 环境中已启动的作业状态。
如果 JobID 参数没有指定特定作业,就显示所有的活动的作业的状态信息。

如果报告了一个作业的终止,shell 从当前的 shell 环境已知的列表中删除作业的进程标识。

jobs 命令

用途

显示当前会话的作业状态。

语法

jobs [ -l | -n | -p ] [ JobID ... ]

/usr/bin/jobs 命令在自己的命令执行环境下执行就不会工作,因为此环境没有适用的作业来处理。基于这个原因, jobs 命令实现为一个 Korn shell 或 POSIX shell 的常规内建命令。

如果指定了 -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]+  Stopped                 ./out
Mac:Desktop mac$
jobs 1
[1]+ Stopped ./out
Mac:Desktop mac$ jobs -l 1
[1]+ 8130 Suspended: 18 ./out
Mac:Desktop mac$ kill 8130
Mac:Desktop mac$ jobs
[1]+ Terminated: 15 ./out
[3]+  Stopped                 ./out2
Mac:Desktop mac$ jobs 
[1]   Stopped                 ./out
[2]-  Stopped                 ./out1
[3]+  Stopped                 ./out2
Mac:Desktop mac$ jobs -l
[1]   8276 Suspended: 18           ./out
[2]-  8278 Suspended: 18           ./out1
[3]+  8279 Suspended: 18           ./out2
Mac:Desktop mac$ kill 8279
Mac:Desktop mac$ jobs -l
[1]   8276 Suspended: 18           ./out
[2]-  8278 Suspended: 18           ./out1
[3]+  8279 Terminated: 15          ./out2
Mac:Desktop mac$ jobs -l
[1]-  8276 Suspended: 18           ./out
[2]+  8278 Suspended: 18           ./out1

jobs 命令的更多相关文章

  1. 菜鸟学Linux命令:bg fg jobs命令 任务管理

    jobs命令 jobs命令用于查看当前终端后台运行的任务 注意和ps的区别: ps命令用于查看瞬间进程的动态 通过一个实例可以理解它们之间的区别,依次执行如下命令:vim & //后台执行vi ...

  2. jobs命令详解

    基础命令学习目录首页 在用管理员执行一个命令后,用Ctrl+Z把命令转移到了后台.导致无法退出root的. 输入命令:exit终端显示:There are stopped jobs. 解决方法:方法一 ...

  3. Linux Ctrl+z bg fg jobs命令使用

    一.暂停前台运行时间长的程序 使用Ctrl + z然后可以看到系统提示: []+ Stopped /home/test/demo.sh 二.bg命令 将程序放到后台处理 bg  %jobnumber ...

  4. linux命令详解:jobs命令

    转:http://www.cnblogs.com/lwgdream/p/3413571.html 前言 我们可以将一个程序放到后台执行,这样它就不占用当前终端,我们可以做其他事情.而jobs命令用来查 ...

  5. fg、bg、jobs、&、nohup、ctrl + z命令

    fg.bg.jobs.&.nohup.ctrl + z命令 一.& 加在一个命令的最后,可以把这个命令放到后台执行,如gftp &, 二.ctrl + z 可以将一个正在前台执 ...

  6. nohup命令与&区别,jobs,fg,bg,Ctrl-Z、Ctrl-C、Ctrl-D

    &方式: Unix/Linux下一般想让某个程序在后台运行,很多都是使用 & 在程序结尾来让程序自动运行.比如我们要运行mysql在后台:          /usr/local/my ...

  7. fg、bg、jobs、&、nohup、ctrl+z、ctrl+c 命令

    fg.bg.jobs.&.nohup.ctrl+z.ctrl+c 命令 一.& 加在一个命令的最后,可以把这个命令放到后台执行,如 watch -n 10 sh test.sh &am ...

  8. 自学Linux Shell15.2-作业控制命令(jobs/bg/nice/renice/at/atp/atrm/crontab)

    点击返回 自学Linux命令行与Shell脚本之路 15.1-作业控制命令(jobs/bg/nice/renice/at/atp/atrm/crontab) 1  控制作业 1.1查看作业 (jobs ...

  9. Linux 中 &、jobs、fg、bg 等命令

    参考  Unix 或 Linux 中 &.jobs.fg.bg 等命令的使用方法 对之前文章的一个补充: linux 命令后台运行 这篇还是比较简单的,稍微一带而过 fg.bg.jobs.&a ...

随机推荐

  1. Windows自带的驱动程序例子都在哪里?

    MSDN官方说明:https://msdn.microsoft.com/windows/hardware/drivers/samples/index 各个操作系统驱动例子: Windows10  :h ...

  2. Linux进程切换代码分析

    朱宇轲 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 这次我们来分析L ...

  3. unity3d 镜头随鼠标移动

    using UnityEngine; using System.Collections; public class sheji : MonoBehaviour { public int speed = ...

  4. ios delegate你必须知道的事情

    在我们的class中设计delegate的时候,我们通常会有几个注意事项. 假设我的class叫做MyClass,那我们可能会有定义一个MyClassDelegate这个protocol当作我的del ...

  5. 转:Tomcat安装配置及站点说明

    原文地址:http://www.cnblogs.com/Johness/archive/2012/07/20/2600937.html 1.首先是Tomcat的获取和安装. 获取当然得上Apache的 ...

  6. nginx 日志分割

    利用 crontab + shell 来实现nginx的 access log 按天切割,便于统计.具体实现如下: shell: #! /bin/sh NGINX_DIR=/data/apps/ngi ...

  7. swift 常见报错及解决方案

    当你初学swift,或者你从2.0转到3.0,见点红是在所难免再寻常不过的事情,其实一般也都是一些小的语法问题,度娘一般都有能力告诉你答案,但是凡事做个总结做到心中有数毕竟是比度娘靠谱的. 1.can ...

  8. Django 基础教程

    Django 基础教程 这是第一篇 Django 简介 »  Django 是由 Python 开发的一个免费的开源网站框架,可以用于快速搭建高性能,优雅的网站! 你一定可以学会,Django 很简单 ...

  9. Python变量作用域(一)

    在一个程序中使用变量名时,Python创建.改变或者查找变量名都是在所谓的命名空间中进行的.作用域指的就是命名空间. Python中的变量名在第一次赋值时已经创建,并且必须经过赋值后才能够使用.由于变 ...

  10. CentOS6.5 Openssl版本升级

    CentOS6.5  Openssl 升级: 第一步:在openssl官网(https://www.openssl.org/)下载最新版 Ps:个人使用的是openssl-1.0.1u.tar.gz版 ...