disown

disown

从当前的shell中移除作业。

概要

disown [-h] [-ar] [jobspec ... | pid ...]

主要用途

  • 从当前shell的作业列表中移除全部作业。
  • 从当前shell的作业列表中移除指定的一到多个作业。
  • 从当前shell的作业列表中移除正在运行的作业。
  • 标记作业,使得它们在当前shell退出后也不会结束。

选项

-h    标记每个作业标识符,这些作业将不会在shell接收到sighup信号时接收到sighup信号。
-a    移除所有的作业。
-r    移除运行的作业。

参数

jobspec(可选):要移除的作业标识符,可以是一到多个。

pid(可选):要移除的作业对应的进程ID,可以是一到多个。

返回值

返回成功除非未开启作业控制或执行出现错误。

例子

# 演示。
[user2@pc] ssh 192.168.1.4
user2@192.168.1.4's password:
# 此时按下ctrl+z使得交互停止。
[1]+  Stopped                 ssh 192.168.1.4

[user2@pc] ssh 192.168.1.7
user2@192.168.1.7's password:
# 此时按下ctrl+z使得交互停止。
[1]+  Stopped                 ssh 192.168.1.7

[user2@pc] sleep 120 &
[3] 28986

# 列出作业及pid信息。
[user2@pc] jobs -l
[1]- 28756 Stopped                 ssh 192.168.1.4
[2]+ 28833 Stopped                 ssh 192.168.1.7
[3]  28986 Running                 sleep 120 &

# 删除运行状态的作业。
[user2@pc] disown -r

[user2@pc] jobs -l
[1]- 28756 Stopped                 ssh 192.168.1.4
[2]+ 28833 Stopped                 ssh 192.168.1.7

# 注意disown只是移除作业,并没有停止。
[user2@pc] pgrep -a -u user2 -f 'sleep 120'
28986 sleep 120

# 删除指定的作业。
[user2@pc] disown %2
bash: warning: deleting stopped job 2 with process group 28833

[user2@pc] jobs -l
[1]- 28756 Stopped                 ssh 192.168.1.4

# 注意disown只是移除作业,并没有停止。
[user2@pc] pgrep -a -u user2 -f 'ssh 192.168.1.7'
28833 ssh 192.168.1.7

# 删除全部作业。
[user2@pc] disown -a
bash: warning: deleting stopped job 1 with process group 28756

[user2@pc] jobs -l

# 注意disown只是移除作业,并没有停止。
[user2@pc] pgrep -a -u user2 -f 'ssh 192.168.1.4'
28756 ssh 192.168.1.4
# 演示-h选项的作用。
[user2@pc] sleep 90 &
[1] 109080

[user2@pc] jobs -l
[1]+ 109080 Running                 sleep 90 &

[user2@pc] disown -h %1

[user2@pc] exit

# 此时前一个终端已经关闭,现在打开新终端查找该作业。
[user2@pc] pgrep -a -u user2 -f 'sleep 90'
109080 sleep 90

注意

  1. bash的作业控制命令包括bg fg kill wait disown suspend
  2. 该命令需要set选项monitor处于开启状态时才能执行;查看作业控制状态:输入set -o查看monitor行;执行set -o monitorset -m开启该选项。
  3. 该命令是bash内建命令,相关的帮助信息请查看help命令。

参考链接

若文章对你有帮助,可以点赞或打赏支持我们。发布者:Aurora,转载请注明出处:http://61.174.243.28:13541/AY-knowledg-hub/disown/

(0)
AuroraAurora站点维系者
上一篇 2023年 12月 7日 下午7:24
下一篇 2023年 12月 7日 下午7:24

相关推荐

  • gcc

    文章目录gcc补充说明语法选项参数实例 gcc 基于C/C++的编译器 补充说明 gcc命令 使用GNU推出的基于 C/C++ 的编译器,是开放源代码领域应用最广泛的编译器,具有功…

    入门教程 2023年 12月 14日
  • jobs

    文章目录jobs概要主要用途选项返回值例子注意 jobs 显示作业的状态。 概要 jobs [-lnprs] [jobspec …] jobs -x command [args…

    入门教程 2023年 12月 19日
  • slabtop

    文章目录slabtop补充说明语法选项知识扩展实例 slabtop 实时显示内核slab内存缓存信息 补充说明 slabtop命令 以实时的方式显示内核“slab”缓冲区的细节信息…

    入门教程 2024年 3月 5日
  • dhcpd

    文章目录dhcpd语法选项例子 dhcpd 运行DHCP服务器 语法 dhcpd [选项] [网络接口] 选项 -p <端口> 指定dhcpd监听的端口 -f 作为前台…

    入门教程 2023年 12月 7日
  • usernetctl

    文章目录usernetctl补充说明语法参数 usernetctl 被允许时操作指定的网络接口 补充说明 usernetctl命令 在用于被允许时操作指定的网络接口。 语法 use…

    入门教程 2024年 3月 11日
  • elm

    文章目录elm补充说明语法选项 elm 纯文本邮件客户端程序 补充说明 elm命令 是一个E-mail客户端管理程序,它提供了纯文本交互式全屏幕界面。 语法 elm(选项) 选项 …

    入门教程 2023年 12月 14日
  • hping3

    文章目录hping3补充说明安装选项Hping3功能 防火墙测试端口扫描Idle扫描拒绝服务攻击文件传输木马功能 hping3 测试网络及主机的安全 补充说明 hping 是用于生…

    入门教程 2023年 12月 15日
  • ifdown

    文章目录ifdown补充说明语法参数实例 ifdown 禁用指定的网络接口 补充说明 ifdown命令 用于禁用指定的网络接口。 语法 ifdown(参数) 参数 网络接口:要禁用…

    入门教程 2023年 12月 19日
  • mesg

    文章目录mesg补充说明语法参数实例 mesg 设置当前终端的写权限 补充说明 mesg命令 用于设置当前终端的写权限,即是否让其他用户向本终端发信息。将mesg设置y时,其他用户…

    入门教程 2024年 1月 3日
  • YAML 入门教程

    YAML 是 YAML Ain\’t a Markup Language(YAML 不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:Yet A…

    2023年 5月 18日
Translate »