介绍
该disown
命令是 Unix ksh、bash 和 zsh shell 的一部分,用于从当前 shell 中删除任务。像cd
或pwd
一样,它是一个shell内置命令,不需要root权限。
Linux如何使用Disown命令?本教程将介绍disown
在 Linux 中使用该命令来终止任务并在你注销后保持它们运行的不同方式。
先决条件
- 一个运行 Linux 的系统
- 访问命令行/终端窗口
Linux Disown命令用法示例:disown 命令语法
disown
命令的基本语法是:
disown [options] jobID1 jobID2 ... jobIDN
在 Linux 中使用 disown 命令
如何在Linux中使用Disown命令?disown
Linux 中的命令用于从任务表中删除任务。你还可以使用它在后台运行更长、更复杂的任务,即使在你注销服务器后也是如此。
查看正在进行的工作
为了使用该disown
命令,你首先需要在 Linux 系统上运行任务。
在这个例子中,我们将启动几个在后台运行的任务:
cat /dev/random > /dev/null &
ping google.com > /dev/null &
Linux Disown命令用法示例:使用jobs
命令列出所有当前任务:
jobs -l
你应该得到与下面看到的类似的输出:
该ping
命令由'+'表示,这意味着它是当前活动的任务。
该cat
命令由'-'表示,这意味着如果该ping
命令终止,它将成为活动任务。
删除所有任务
如何在Linux中使用Disown命令?要从任务表中删除所有任务,请使用以下命令:
disown -a
删除特定任务
Linux如何使用Disown命令?如果要从任务表中删除特定任务,请使用disown
具有适当任务 ID的命令。任务 ID 列在任务表的括号中:
在我们的例子中,如果我们想删除ping
命令,我们需要disown
在任务 2 上使用命令:
disown %2
使用disown
不带任何选项或任务 ID的命令会删除任务表中的最后一个任务:
注意:任务 ID 始终以%
字符开头。要从列表中选择特定任务,请使用%n
,其中 n 是任务编号。使用%%
选择当前活动的任务。
删除当前正在运行的任务
Linux Disown命令用法示例:要仅删除当前正在运行的任务,请使用以下命令:
disown -r
在我们的示例中,上述命令清除了任务表,因为这两个任务当前都在后台运行:
注销后保持任务运行
Linux如何使用Disown命令?退出系统终端后,所有当前正在运行的任务都会自动终止。为了防止这种情况,请使用disown
带有-h
选项的命令:
disown -h jobID
如何在Linux中使用Disown命令?在我们的示例中,我们希望让cat
命令在后台运行。要防止它在退出时终止,请使用以下命令:
disown -h %1
使用disown
命令后,关闭终端:
exit
你使用该disown -h
命令的任何任务都将继续运行。
结论
Linux如何使用Disown命令?遵循本教程后,你已经学会了使用该disown
命令从任务列表中删除任务或即使在你关闭终端窗口后仍保持它们运行。