Linux系统jobs命令怎么用
这篇文章主要为大家展示了“Linux系统jobs命令怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux系统jobs命令怎么用”这篇文章吧。
在Linux系统中jobs命令的主要作用就是输出当前系统中任务列表和任务的状态,简单点来说就是用来查看当前终端放入后台的工作。
语法
其基本语法如下:
jobs
或
jobs jobID
或者
jobs [options] jobID
启动一些作业来进行示范
在开始使用 jobs 命令前,你需要在系统上先启动多个作业。执行以下命令来启动作业:
### 启动 xeyes, calculator, 和 gedit 文本编辑器 ###xeyes &gnome-calculator &gedit fetch-stock-prices.py &
最后,在前台运行 ping 命令:
ping www.cyberciti.biz
按 Ctrl-Z 键来挂起suspend ping 命令的作业。
jobs 命令示例
要在当前 shell 显示作业的状态,请输入:
$ jobs
输出示例:
[1] 7895 Running gpass &[2] 7906 Running gnome-calculator &[3]- 7910 Running gedit fetch-stock-prices.py &[4]+ 7946 Stopped ping cyberciti.biz
要显示名字以“p”开头的进程 ID 或作业名称,输入:
$ jobs -p %p
或者
$ jobs %p
输出示例:
[4]- Stopped ping cyberciti.biz
字符 % 是一个指定任务的方法。在这个例子中,你可以使用作业名称开头字符串来来暂停它,如 %ping。
如何显示进程 ID 不包含其他正常的信息?
通过 jobs 命令的 -l(小写的 L)选项列出每个作业的详细信息,运行:
$ jobs -l
示例输出:
Fig.01: 在 shell 中显示 jobs 的状态
如何只列出最近一次状态改变的进程?
首先,启动一个新的工作如下所示:
$ sleep 100 &
现在,只显示自从上次提示过停止或退出之后的作业,输入:
$ jobs -n
示例输出:
[5]- Running sleep 100 &
仅显示进程 ID(PID)
通过 jobs 命令的 -p 选项仅显示 PID:
$ jobs -p
示例输出:
78957906791079467949
怎样只显示正在运行的作业呢?
通过 jobs 命令的 -r 选项只显示正在运行的作业,输入:
$ jobs -r
示例输出:
[1] Running gpass &[2] Running gnome-calculator &[3]- Running gedit fetch-stock-prices.py &
怎样只显示已经停止工作的作业?
通过 jobs 命令的 -s 选项只显示停止工作的作业,输入:
$ jobs -s
示例输出:
[4]+ Stopped ping cyberciti.biz
要继续执行 ping cyberciti.biz 作业,输入以下 bg 命令:
$ bg %4
jobs 命令选项
摘自 bash(1) 命令 man 手册页:
选项 | 描述 |
---|---|
-l | 列出进程 ID 及其它信息。 |
-p | 仅列出进程 ID。 |
-n | 仅列出自从上次输出了状态变化提示(比如显示有进程退出)后的发生了状态变化的进程。 |
-r | 仅显示运行中的作业。 |
-s | 仅显示停止的作业。 |
-x | 运行命令及其参数,并用新的命令的进程 ID 替代所匹配的原有作业的进程组 ID。 |
显示详细信息
关于 /usr/bin/jobs 和 shell 内建的说明
输入以下 type 命令找出是否 jobs 命令是 shell 的内建命令或是外部命令还是都是:
$ type -a jobs
输出示例:
jobs is a shell builtinjobs is /usr/bin/jobs
在几乎所有情况下,你都需要使用 BASH/KSH/POSIX shell 内建的jobs 命令。/usr/bin/jobs 命令不能被用在当前 shell 中。/usr/bin/jobs 命令工作在不同的环境中,并不共享其父 bash/ksh 的 shell 作业
以上是“Linux系统jobs命令怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341