disown
从当前的shell中移除作业。
概要
1disown [-h] [-ar] [jobspec ... | pid ...]
主要用途
-
从当前shell的作业列表中移除全部作业。
-
从当前shell的作业列表中移除指定的一到多个作业。
-
从当前shell的作业列表中移除正在运行的作业。
-
标记作业,使得它们在当前shell退出后也不会结束。
选项
1-h 标记每个作业标识符,这些作业将不会在shell接收到sighup信号时接收到sighup信号。
2-a 移除所有的作业。
3-r 移除运行的作业。
参数
jobspec(可选):要移除的作业标识符,可以是一到多个。
pid(可选):要移除的作业对应的进程ID,可以是一到多个。
返回值
返回成功除非未开启作业控制或执行出现错误。
例子
1# 演示。
2[user2@pc] ssh 192.168.1.4
3user2@192.168.1.4's password:
4# 此时按下ctrl+z使得交互停止。
5[1]+ Stopped ssh 192.168.1.4
6
7[user2@pc] ssh 192.168.1.7
8user2@192.168.1.7's password:
9# 此时按下ctrl+z使得交互停止。
10[1]+ Stopped ssh 192.168.1.7
11
12[user2@pc] sleep 120 &
13[3] 28986
14
15# 列出作业及pid信息。
16[user2@pc] jobs -l
17[1]- 28756 Stopped ssh 192.168.1.4
18[2]+ 28833 Stopped ssh 192.168.1.7
19[3] 28986 Running sleep 120 &
20
21# 删除运行状态的作业。
22[user2@pc] disown -r
23
24[user2@pc] jobs -l
25[1]- 28756 Stopped ssh 192.168.1.4
26[2]+ 28833 Stopped ssh 192.168.1.7
27
28# 注意disown只是移除作业,并没有停止。
29[user2@pc] pgrep -a -u user2 -f 'sleep 120'
3028986 sleep 120
31
32# 删除指定的作业。
33[user2@pc] disown %2
34bash: warning: deleting stopped job 2 with process group 28833
35
36[user2@pc] jobs -l
37[1]- 28756 Stopped ssh 192.168.1.4
38
39# 注意disown只是移除作业,并没有停止。
40[user2@pc] pgrep -a -u user2 -f 'ssh 192.168.1.7'
4128833 ssh 192.168.1.7
42
43# 删除全部作业。
44[user2@pc] disown -a
45bash: warning: deleting stopped job 1 with process group 28756
46
47[user2@pc] jobs -l
48
49# 注意disown只是移除作业,并没有停止。
50[user2@pc] pgrep -a -u user2 -f 'ssh 192.168.1.4'
5128756 ssh 192.168.1.4
1# 演示-h选项的作用。
2[user2@pc] sleep 90 &
3[1] 109080
4
5[user2@pc] jobs -l
6[1]+ 109080 Running sleep 90 &
7
8[user2@pc] disown -h %1
9
10[user2@pc] exit
11
12# 此时前一个终端已经关闭,现在打开新终端查找该作业。
13[user2@pc] pgrep -a -u user2 -f 'sleep 90'
14109080 sleep 90
注意
bash
的作业控制命令包括bg fg kill wait disown suspend
。- 该命令需要
set
选项monitor
处于开启状态时才能执行;查看作业控制状态:输入set -o
查看monitor
行;执行set -o monitor
或set -m
开启该选项。 - 该命令是bash内建命令,相关的帮助信息请查看
help
命令。
参考链接
来源:https://github.com/jaywcjlove/linux-command
最后修改于: Wednesday, January 31, 2024
版权申明:
- 未标注来源的内容全部为原创,未经授权请勿转载(因转载后排版往往错乱、内容不可控、无法持续更新等);
- 非营利为目的,演绎本博客任何内容,请以'原文出处'或者'参考链接'等方式给出本站相关网页地址(方便读者)。