当前位置: 首页 > news >正文

jobs 命令示例

jobs 命令示例


我是个新的 Linux/Unix 用户。我该如何在 Linux 或类 Unix 系统中使用 BASH/KSH/TCSH 或者基于 POSIX 的 shell 来查看当前正在进行的作业job?在 Unix/Linux 上怎样显示当前作业的状态?(LCTT 译注:job,也常称为“任务”)

作业控制是一种能力,可以停止/暂停进程(命令)的执行并按你的要求继续/恢复它们的执行。这是通过你的操作系统和诸如 bash/ksh 或 POSIX shell 等 shell 来执行的。

shell 会将当前所执行的作业保存在一个表中,可以用 jobs 命令来显示。

用途

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

语法

其基本语法如下:

 
  
  1. jobs

 
  
  1. jobs jobID

或者

 
  
  1. jobs [options] jobID

启动一些作业来进行示范

在开始使用 jobs 命令前,你需要在系统上先启动多个作业。执行以下命令来启动作业:

 
  
  1. ### 启动 xeyes, calculator, 和 gedit 文本编辑器 ###
  2. xeyes &
  3. gnome-calculator &
  4. gedit fetch-stock-prices.py &

最后,在前台运行 ping 命令:

 
  
  1. ping www.cyberciti.biz

按 Ctrl-Z 键来挂起suspend ping 命令的作业。

jobs 命令示例

要在当前 shell 显示作业的状态,请输入:

 
  
  1. $ jobs

输出示例:

 
  
  1. [1] 7895 Running gpass &
  2. [2] 7906 Running gnome-calculator &
  3. [3]- 7910 Running gedit fetch-stock-prices.py &
  4. [4]+ 7946 Stopped ping cyberciti.biz

要显示名字以“p”开头的进程 ID 或作业名称,输入:

 
  
  1. $ jobs -p %p

或者

 
  
  1. $ jobs %p

输出示例:

 
  
  1. [4]- Stopped ping cyberciti.biz

字符 % 是一个指定任务的方法。在这个例子中,你可以使用作业名称开头字符串来来暂停它,如 %ping。

如何显示进程 ID 不包含其他正常的信息?

通过 jobs 命令的 -l(小写的 L)选项列出每个作业的详细信息,运行:

 
  
  1. $ jobs -l

示例输出:

Fig.01: Displaying the status of jobs in the shell

Fig.01: 在 shell 中显示 jobs 的状态

如何只列出最近一次状态改变的进程?

首先,启动一个新的工作如下所示:

 
  
  1. $ sleep 100 &

现在,只显示自从上次提示过停止或退出之后的作业,输入:

 
  
  1. $ jobs -n

示例输出:

 
  
  1. [5]- Running sleep 100 &

仅显示进程 ID(PID)

通过 jobs 命令的 -p 选项仅显示 PID:

 
  
  1. $ jobs -p

示例输出:

 
  
  1. 7895
  2. 7906
  3. 7910
  4. 7946
  5. 7949

怎样只显示正在运行的作业呢?

通过 jobs 命令的 -r 选项只显示正在运行的作业,输入:

 
  
  1. $ jobs -r

示例输出:

 
  
  1. [1] Running gpass &
  2. [2] Running gnome-calculator &
  3. [3]- Running gedit fetch-stock-prices.py &

怎样只显示已经停止工作的作业?

通过 jobs 命令的 -s 选项只显示停止工作的作业,输入:

 
  
  1. $ jobs -s

示例输出:

 
  
  1. [4]+ Stopped ping cyberciti.biz

要继续执行 ping cyberciti.biz 作业,输入以下 bg 命令:

 
  
  1. $ bg %4

jobs 命令选项

摘自 bash(1) 命令 man 手册页:

选项描述
-l列出进程 ID 及其它信息。
-p仅列出进程 ID。
-n仅列出自从上次输出了状态变化提示(比如显示有进程退出)后的发生了状态变化的进程。
-r仅显示运行中的作业。
-s仅显示停止的作业。
-x运行命令及其参数,并用新的命令的进程 ID 替代所匹配的原有作业的进程组 ID。

关于 /usr/bin/jobs 和 shell 内建的说明

输入以下 type 命令找出是否 jobs 命令是 shell 的内建命令或是外部命令还是都是:

 
  
  1. $ type -a jobs

输出示例:

 
  
  1. jobs is a shell builtin
  2. jobs is /usr/bin/jobs

在几乎所有情况下,你都需要使用 BASH/KSH/POSIX shell 内建的jobs 命令。/usr/bin/jobs 命令不能被用在当前 shell 中。/usr/bin/jobs 命令工作在不同的环境中,并不共享其父 bash/ksh 的 shell 作业。



文来自云栖社区合作伙伴“Linux中国”
原文发布时间为:2013-04-02.



相关文章:

  • 《Haskell并行与并发编程》——第2章,第2.4节Deepseq
  • 《C++ AMP:用Visual C++加速大规模并行计算》——3.5 array_view T,N
  • 《用友ERP-U8(V8.72)模拟实战----财务、供应链和生产制造》一1.4 系统管理注册和导入演示账套...
  • 《Unreal Engine 4蓝图可视化编程》一导读
  • 《Splunk智能运维实战》——3.8 使用散点图根据大小和响应时间标识离散的请求...
  • 模块与包
  • 生成模型和判别模型
  • 树莓派+pythonista实时监控系统
  • mysql开发之---使用游标双层嵌套对总表进行拆分为帖子表和回复表
  • window 下安装 wget 命令
  • V8 Ignition:JS 引擎与字节码的不解之缘
  • centos安装vsftp
  • 【zabbix系列】安装与加入host
  • 【Sets】使用Google Guava工程中Sets工具包,实现集合的并集/交集/补集/差集
  • JAVA多线程入门
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • 【译】理解JavaScript:new 关键字
  • 345-反转字符串中的元音字母
  • chrome扩展demo1-小时钟
  • Golang-长连接-状态推送
  • Java应用性能调优
  • k8s 面向应用开发者的基础命令
  • k个最大的数及变种小结
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • TypeScript实现数据结构(一)栈,队列,链表
  • V4L2视频输入框架概述
  • 漂亮刷新控件-iOS
  • 中文输入法与React文本输入框的问题与解决方案
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • $jQuery 重写Alert样式方法
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (12)Hive调优——count distinct去重优化
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (8)STL算法之替换
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (过滤器)Filter和(监听器)listener
  • (四)Controller接口控制器详解(三)
  • (一)RocketMQ初步认识
  • *1 计算机基础和操作系统基础及几大协议
  • .NET Core 成都线下面基会拉开序幕
  • .NET DevOps 接入指南 | 1. GitLab 安装
  • .NET MVC之AOP
  • .NET 使用 ILMerge 合并多个程序集,避免引入额外的依赖
  • .NET(C#) Internals: as a developer, .net framework in my eyes
  • .net中调用windows performance记录性能信息
  • :O)修改linux硬件时间
  • [ C++ ] STL_vector -- 迭代器失效问题
  • [2016.7.test1] T2 偷天换日 [codevs 1163 访问艺术馆(类似)]
  • [Android学习笔记]ScrollView的使用
  • [BZOJ 3680]吊打XXX(模拟退火)
  • [C++][基础]1_变量、常量和基本类型
  • [C++]STL之map
  • [C++]指针与结构体
  • [CF226E]Noble Knight's Path
  • [CF703D]Mishka and Interesting sum/[BZOJ5476]位运算