日期:2014-05-16  浏览次数:20754 次

我使用过的Linux命令之jobs - 显示当前终端关联的后台任务情况

我使用过的Linux命令之jobs - 显示当前终端关联的后台任务情况

本文链接:http://codingstandards.iteye.com/blog/780581 ?? (转载请注明出处)

?

用途说明

jobs命令用于显示当前终端关联的后台任务情况。

命令后面跟上& 用于将命令在后台执行。

Ctrl+Z用于将当前正在运行的前台进程暂停,变成后台进程。

bg [%n]用于将后台暂停的进程继续运行。

fg [%n]用于将后台执行的进程变成前台进程。

kill %n用于杀掉指定的任务。

?

常用参数

-l????? 显示进程组ID和作业在运行的目录。
-n ??? 只显示上次显示过的已经停止的或已经退出的作业。
-p ??? 只显示选定作业的进程组的进程ID.

使用示例

示例一

[root@jfht ~]# jobs
[root@jfht ~]# tail -f job.sh
#!/bin/sh

date >job.txt

Ctrl+Z
[1]+? Stopped???????????????? tail -f job.sh
[root@jfht ~]# jobs -l
[1]+? 3034 停止??????????????????? tail -f job.sh
[root@jfht ~]# bg
[1]+ tail -f job.sh &
[root@jfht ~]# jobs -l
[1]+? 3034 Running???????????????? tail -f job.sh &
[root@jfht ~]# kill %1
[root@jfht ~]# jobs -l
[1]+? 3034 已终止????????????????? tail -f job.sh
[root@jfht ~]# jobs -l
[root@jfht ~]# tail -f job.sh
#!/bin/sh

date >job.txt


[1]+? Stopped???????????????? tail -f job.sh
[root@jfht ~]# jobs -l
[1]+? 3306 停止??????????????????? tail -f job.sh
[root@jfht ~]# jobs
[1]+? Stopped???????????????? tail -f job.sh
[root@jfht ~]# fg
tail -f job.sh

Ctrl+C
[root@jfht ~]# jobs
[root@jfht ~]#

示例二

[root@jfht ~]# tail -f job.sh
#!/bin/sh

date >job.txt


[2]+? Stopped???????????????? tail -f job.sh
[root@jfht ~]# bg
[2]+ tail -f job.sh &
[root@jfht ~]# exit
logout
There are stopped jobs.
[root@jfht ~]# exit
logout

?

重新连接并登录。

Last login: Sun Oct 10 16:54:10 2010 from 222.70.154.57
[root@jfht ~]# ps -ef|grep tail
root????? 6464???? 1? 0 18:40 ???????? 00:00:00 tail -f job.sh
root????? 6579? 6550? 0 18:41 pts/8??? 00:00:00 grep tail

[root@jfht ~]# killall tail
[root@jfht ~]# killall tail
tail: no process killed

?

问题思考

1. 有哪些方式可以让命令后台执行?

2. 前台进程与后台进程有哪些区别?

相关资料

【1】罗明的博客 Linux下使用Shell命令控制任务(Jobs)执行

【2】linux fg bg ctrl + z jobs & 等命令

?

返回 我使用过的Linux命令系列总目录

?

1 楼 wenjinglian 2011-07-04  
很好的归纳
2 楼 codingstandards 2011-07-05  
wenjinglian 写道
很好的归纳

谢谢支持!