disown命令可以从当前shell的作业列表中移除全部作业
发布时间:2023-06-13 08:06:20 所属栏目:Linux 来源:未知
导读: Linux常用命令disown命令可以从当前shell的作业列表中移除全部作业,也可移除指定的一到多个作业;正在运行的作业也可以移除;也可以标记作业,使得它们在当前shell退出后也不会结束,
Linux常用命令disown命令可以从当前shell的作业列表中移除全部作业,也可移除指定的一到多个作业;正在运行的作业也可以移除;也可以标记作业,使得它们在当前shell退出后也不会结束,下面为大家分享一下Linux常用命令disown命令具体使用方法。 语法格式 disown [参数] [标识符or进程ID] 常用参数: -h 标记每个作业标识符,这些作业将不会在shell接收到sighup信号时接收到sighup信号 -a 移除所有的作业 -r 移除运行的作业 ### 实例 # 演示。 ssh 192.168.1.4 user2@192.168.1.4's password: # 此时按下ctrl+z使得交互停止。 [1]+ Stopped ssh 192.168.1.4 ssh 192.168.1.7 user2@192.168.1.7's password: # 此时按下ctrl+z使得交互停止。 [1]+ Stopped ssh 192.168.1.7 sleep 120 & [3] 28986 # 列出作业及pid信息。 jobs -l [1]- 28756 Stopped ssh 192.168.1.4 [2]+ 28833 Stopped ssh 192.168.1.7 [3] 28986 Running sleep 120 & # 删除运行状态的作业。 disown -r jobs -l [1]- 28756 Stopped ssh 192.168.1.4 [2]+ 28833 Stopped ssh 192.168.1.7 # 注意disown只是移除作业,并没有停止。 pgrep -a -u user2 -f 'sleep 120' 28986 sleep 120 # 删除指定的作业。 disown %2 bash: warning: deleting stopped job 2 with process group 28833 jobs -l [1]- 28756 Stopped ssh 192.168.1.4 # 注意disown只是移除作业,并没有停止。 pgrep -a -u user2 -f 'ssh 192.168.1.7' 28833 ssh 192.168.1.7 # 删除全部作业。 disown -a bash: warning: deleting stopped job 1 with process group 28756 jobs -l # 注意disown只是移除作业,并没有停止。 pgrep -a -u user2 -f 'ssh 192.168.1.4' 28756 ssh 192.168.1.4 # 演示-h选项的作用。 sleep 90 & [1] 109080 jobs -l [1]+ 109080 Running sleep 90 & disown -h %1 exit # 此时前一个终端已经关闭,现在打开新终端查找该作业。 pgrep -a -u user2 -f 'sleep 90' 109080 sleep 90 编辑 注意 bash的作业控制命令包括bg fg kill wait disown suspend。 该命令需要set选项monitor处于开启状态时才能执行;查看作业控制状态:输入set -o查看monitor行;执行set -o monitor或set -m开启该选项。 该命令是bash内建命令,相关的帮助信息请查看help命令。 (编辑:PHP编程网 - 黄冈站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐