Skip to content

Commit 065003f

Browse files
authored
Update jobs.md
更新文件。 bash作业控制系列的更新(5/6)。
1 parent 7d6d24b commit 065003f

File tree

1 file changed

+55
-27
lines changed

1 file changed

+55
-27
lines changed

command/jobs.md

Lines changed: 55 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,79 @@
11
jobs
22
===
33

4-
显示Linux中的任务列表及任务状态
4+
显示作业的状态。
55

6-
## 补充说明
6+
## 概要
77

8-
**jobs命令** 用于显示Linux中的任务列表及任务状态,包括后台运行的任务。该命令可以显示任务号及其对应的进程号。其中,任务号是以普通用户的角度进行的,而进程号则是从系统管理员的角度来看的。一个任务可以对应于一个或者多个进程号。
8+
```shell
9+
jobs [-lnprs] [jobspec ...]
10+
jobs -x command [args]
11+
```
912

10-
在Linux系统中执行某些操作时候,有时需要将当前任务暂停调至后台,或有时须将后台暂停的任务重启开启并调至前台,这一序列的操作将会使用到 jobs、bg、和 fg 三个命令以及两个快捷键来完成。
13+
## 主要用途
1114

12-
### 语法
15+
- 显示作业的状态。
16+
- 列出活动的作业。
17+
- 列出停止的作业。
18+
19+
## 选项
1320

1421
```shell
15-
jobs(选项)(参数)
22+
-l 在作业信息中额外的列出PID。
23+
-n 只列出最近一次通知以来状态变更的作业。
24+
-p 只列出PID。
25+
-r 只输出处于运行状态的作业。
26+
-s 只输出处于停止状态的作业。
1627
```
1728

18-
### 选项
29+
## 返回值
30+
31+
返回状态为成功除非给出了非法选项、执行出现错误。
32+
33+
如果使用`jobs -x command [args]`形式执行,那么返回值为`command`的退出状态。
34+
35+
## 例子
1936

2037
```shell
21-
-l:显示进程号;
22-
-p:仅任务对应的显示进程号;
23-
-n:显示任务状态的变化;
24-
-r:仅输出运行状态(running)的任务;
25-
-s:仅输出停止状态(stoped)的任务。
26-
```
38+
[user2@pc] ssh 192.168.1.4
39+
pc@192.168.1.4's password:
40+
# 此时按下ctrl+z使得交互停止。
41+
[1]+ Stopped ssh 192.168.1.4
2742
28-
### 参数
43+
[user2@pc] sleep 60 &
44+
[2] 13338
2945
30-
任务标识号:指定要显示的任务识别号。
46+
[user2@pc] jobs
47+
[1]- Stopped ssh 192.168.1.4
48+
[2] Running sleep 60 &
3149
32-
### 实例
50+
[user2@pc] jobs -l
51+
[1]- 12927 Stopped ssh 192.168.1.4
52+
[2] 13338 Running sleep 60 &
3353
34-
使用jobs命令显示当前系统的任务列表,输入如下命令:
54+
[user2@pc] jobs -p
55+
12927
56+
13338
3557
36-
```shell
37-
jobs -l #显示当前系统的任务列表
38-
```
58+
[user2@pc] jobs -s
59+
[1]- Stopped ssh 192.168.1.4
3960
40-
上面的命令执行后,将显示出当前系统下的任务列表信息,具体如下所示:
61+
[user2@pc] jobs -r
62+
[2] Running sleep 60 &
4163
42-
```shell
43-
[1] + 1903 运行中 find / -name password &
44-
```
64+
[user2@pc] kill -9 12927
65+
[2] Done sleep 60
66+
67+
[user2@pc] jobs -n -l
68+
[1]+ 12927 Killed ssh 192.168.1.4
4569
46-
注意:要得到以上输出信息,必须在执行jobs命令之前执行命令`find / -name password &`。否则,执行jobs命令不会显示任何信息。
70+
[user2@pc] jobs -n -l
71+
```
4772
48-
其中,输出信息的第一列表示任务编号,第二列表示任务所对应的进程号,第三列表示任务的运行状态,第四列表示启动任务的命令。
73+
### 注意
4974
75+
1. `bash`的作业控制命令包括`bg fg kill wait disown suspend`。
76+
2. 该命令需要`set`选项`monitor`处于开启状态时才能执行;查看作业控制状态:输入`set -o`查看`monitor`行;执行`set -o monitor`或`set -m`开启该选项。
77+
3. 该命令是bash内建命令,相关的帮助信息请查看`help`命令。
5078
51-
<!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ -->
79+
<!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ -->

0 commit comments

Comments
 (0)