加入收藏 | 设为首页 | 会员中心 | 我要投稿 泉州站长网 (https://www.0595zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

disown命令可以从当前shell的作业列表中移除全部作业

发布时间:2023-06-13 08:06:24 所属栏目: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命令。
 

(编辑:泉州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章