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@linuxvip ~]# disown -a
删除运行状态的作业:
[root@linuxvip ~]# disown -r
根据jobId,移出指定的后台任务:
[root@linuxvip ~]# disown %2 [root@linuxvip ~]# disown -h %2