温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Linux系统jobs命令怎么用

发布时间:2022-01-25 10:28:56 来源:亿速云 阅读:963 作者:小新 栏目:开发技术

这篇文章主要为大家展示了“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

示例输出:

Linux系统jobs命令怎么用

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命令怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI