千家信息网

Linux disown命令怎么使用

发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,这篇"Linux disown命令怎么使用"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这
千家信息网最后更新 2025年01月21日Linux disown命令怎么使用

这篇"Linux disown命令怎么使用"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"Linux 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 monitor或set -m开启该选项。

  3. 该命令是bash内建命令,相关的帮助信息请查看help命令。

参考链接

  • disown的用法

以上就是关于"Linux disown命令怎么使用"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。

0