如何在Linux中使用Disown命令?用法示例指南

2021年11月20日17:41:28 发表评论 1,911 次浏览

介绍

disown命令是 Unix ksh、bash 和 zsh shell 的一部分,用于从当前 shell 中删除任务。像cdpwd一样,它是一个shell内置命令,不需要root权限。

Linux如何使用Disown命令本教程将介绍disown在 Linux 中使用该命令来终止任务并在你注销后保持它们运行的不同方式。

先决条件

  • 一个运行 Linux 的系统
  • 访问命令行/终端窗口

Linux Disown命令用法示例:disown 命令语法

disown命令的基本语法是:

disown [options] jobID1 jobID2 ... jobIDN

在 Linux 中使用 disown 命令

如何在Linux中使用Disown命令disownLinux 中的命令用于从任务表中删除任务。你还可以使用它在后台运行更长、更复杂的任务,即使在你注销服务器后也是如此。

查看正在进行的工作

为了使用该disown命令,你首先需要在 Linux 系统上运行任务。

在这个例子中,我们将启动几个在后台运行的任务:

cat /dev/random > /dev/null &
ping google.com > /dev/null &

Linux Disown命令用法示例:使用jobs命令列出所有当前任务:

jobs -l

你应该得到与下面看到的类似的输出:

如何在Linux中使用Disown命令?用法示例指南


ping命令由'+'表示,这意味着它是当前活动的任务。

cat命令由'-'表示,这意味着如果该ping命令终止,它将成为活动任务。

删除所有任务

如何在Linux中使用Disown命令?要从任务表中删除所有任务,请使用以下命令:

disown -a
如何在Linux中使用Disown命令?用法示例指南

删除特定任务

Linux如何使用Disown命令?如果要从任务表中删除特定任务,请使用disown具有适当任务 ID的命令。任务 ID 列在任务表的括号中:

如何在Linux中使用Disown命令?用法示例指南

在我们的例子中,如果我们想删除ping命令,我们需要disown在任务 2 上使用命令:

disown %2
如何在Linux中使用Disown命令?用法示例指南

使用disown不带任何选项或任务 ID的命令会删除任务表中的最后一个任务:

如何在Linux中使用Disown命令?用法示例指南

注意:任务 ID 始终以%字符开头。要从列表中选择特定任务,请使用%n,其中 n 是任务编号。使用%%选择当前活动的任务。

删除当前正在运行的任务

Linux Disown命令用法示例:要仅删除当前正在运行的任务,请使用以下命令:

disown -r

在我们的示例中,上述命令清除了任务表,因为这两个任务当前都在后台运行:

如何在Linux中使用Disown命令?用法示例指南

注销后保持任务运行

Linux如何使用Disown命令?退出系统终端后,所有当前正在运行的任务都会自动终止。为了防止这种情况,请使用disown带有-h选项的命令:

disown -h jobID

如何在Linux中使用Disown命令?在我们的示例中,我们希望让cat命令在后台运行。要防止它在退出时终止,请使用以下命令:

disown -h %1

使用disown命令后,关闭终端:

exit

你使用该disown -h命令的任何任务都将继续运行。

结论

Linux如何使用Disown命令?遵循本教程后,你已经学会了使用该disown命令从任务列表中删除任务或即使在你关闭终端窗口后仍保持它们运行。

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: