如何在后台运行 Linux 命令并将其恢复如何在后台运行 Linux 命令并将其恢复如何在后台运行 Linux 命令并将其恢复如何在后台运行 Linux 命令并将其恢复
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在后台运行 Linux 命令并将其恢复

了解如何在 Linux 后台运行命令。您还将学习如何将后台作业带回前台。

如果您有一个长时间运行的任务,等待它完成并不总是明智的。我的意思是为什么要让终端占用特定的命令?在 Linux 中,您可以将命令或进程发送到后台,以便该命令运行,但终端将可供您运行其他命令。

在本教程中,我将向您展示几种在后台发送进程的方法。我还将向您展示如何将后台进程带回前台。

直接在后台启动Linux进程

如果您知道该命令或进程将花费很长时间,那么最好在后台启动该命令。

要在后台运行 Linux 命令,您所要做的就是在命令末尾添加一个与号 (&),如下所示:

your_command &

让我们使用一个简单的 bash sleep 命令并将其发送到后台。

sleep 60 &

当命令在后台完成时,您应该在终端上看到有关该命令的信息。

[1]+  Done                    sleep 60

将正在运行的 Linux 进程发送到后台

如果您已经运行了一个程序,然后意识到应该在后台运行它,请不要担心。您也可以将正在运行的进程发送到后台。

这里你要做的就是使用Ctrl+Z暂停正在运行的进程,然后使用'bg'(background的缩写)将进程发送到后台。暂停的进程现在将在后台运行。

running_command
^z
bg

让我们举一个与之前相同的例子。

abhishek@linux:~$ sleep 60
^Z
[1]+  Stopped                 sleep 60
abhishek@linux:~$ bg
[1]+ sleep 60 &

查看后台运行的所有进程

现在您已经知道如何在后台发送进程,您可能有兴趣了解哪些命令在后台运行。

为此,您可以在终端中输入以下命令:

jobs

让我们先在后台放置一些命令。

firefox &
gedit &
vim &

现在 jobs 命令将向您显示后台运行的所有作业/进程/命令,如下所示:

jobs
[1]   Running                 firefox &
[2]-  Running                 gedit &
[3]+  Stopped                 vim

您注意到数字 [1]、[2] 和 [3] 等吗?这些是作业 ID。您还会注意到其中两个命令上的 – 和 + 号。 + 号表示您运行或前台运行的最后一个作业。 – 符号表示您运行或前台运行的倒数第二个作业。

在 Linux 中将进程置于前台

好吧!现在您学会了在 Linux 中后台运行命令。但是,如何将后台运行的进程再次调到前台呢?

要将命令发送到后台,您使用了“bg”。要恢复后台进程,请使用命令“fg”。

fg

现在,如果您简单地使用 fg,它将把后台作业队列中的最后一个进程带到前台。在我们前面的示例中,运行“fg”将使 Vim 编辑器返回到终端。

如果要将某个进程带到前台,则需要指定其作业ID。作业 ID 是您在“jobs”命令输出中每行开头看到的数字。

fg n

其中 n 是命令作业输出中显示的作业 ID。

就是这样

这是一个快速的过程,但足以让您了解有关在 Linux 后台运行命令的一些知识。我建议也学习 nohup 命令。即使您注销会话后,此命令也允许您在后台运行命令。

如果您有疑问或建议,请在下方留言。

©2015-2025 艾丽卡 support@alaica.com