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@linuxcool ~]# disown -a

删除运行状态的作业:

[root@linuxcool ~]# disown -r

根据jobId,移出指定的后台任务:

[root@linuxcool ~]# disown %2
[root@linuxcool ~]# disown -h %2 
Author

这篇优质的内容由TA贡献而来

姜传广

网络工程师,linux爱好者