系统管理 · 2022年02月20日 0

disown命令 – 从当前的shell中移除作业

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 ```