disown命令可以从当前shell的作业列表中移除全部作业,也可移除指定的一到多个作业;正在运行的作业也可以移除;也可以标记作业,使得它们在当前shell退出后也不会结束。
该命令需要set选项monitor处于开启状态时才能执行;查看作业控制状态:输入set -o查看 monitor行;执行set -o monitor或set -m开启该选项。disown命令该命令是bash内建命令,相关的帮助信息请查看help命令。
**语法格式:** disown [参数] [标识符or进程ID]
**常用参数:**
| -h | 标记每个作业标识符,这些作业将不会在shell接收到sighup信号时接收到sighup信号 |
| ---- | ----------------------------------------------------------------------------- |
| -a | 移除所有的作业 |
| -r | 移除运行的作业 |
**参考实例**
删除全部作业:
```
[root@anycode ~]# disown -a
```
删除运行状态的作业:
```
[root@anycode ~]# disown -r
```
根据jobId,移出指定的后台任务:
```
[root@anycode ~]# disown %2
[root@anycode ~]# disown -h %2
```