迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 操作系统 >

在 Bash 中运行后台进程

作者:迹忆客 最近更新:2023/05/18 浏览次数:

在终端中执行命令时,需要等待命令执行完毕。 这称为前台进程。

但是,一些高级程序需要在后台运行。 在 Bash 脚本中,有一种简单的方法可以让您的命令在后台运行。

后台进程的有趣之处在于您无需等待命令执行结束。 您可以并行运行另一个命令。

但是您不能仅通过单击十字按钮来结束后台进程。 您必须使用一些命令来结束后台进程。

在本文中,我们将讨论如何创建在后台运行的命令。 此外,我们将通过使用必要的示例和解释来讨论该主题,以使该主题更容易理解。

我们将首先学习如何创建后台进程,然后了解如何终止现有进程。


在 Bash 中使用 & 创建后台进程

在 Bash 脚本中创建后台进程非常容易。 您需要做的就是在命令末尾包含 & 符号。

使命令在后台运行的一般语法是:

YOUR COMMAND &

下面的示例将 Bash 脚本作为后台进程运行。 代码将如下所示:

./example.sh &

执行上述代码后,您将获得以下输出:

[1] 20

在这里,您将看到第三个括号括起来的进程号。

如果您的流程已完成其工作,您将收到如下通知:

[1]+  Done                    ./example.sh

在 Bash 中终止后台进程

杀死一个后台进程,只需要执行以下步骤。 如果您忘记了进程 ID,您可以使用下面的命令找到您正在运行的进程。

jobs -l

这将输出正在运行的进程的列表。

[1]+ 25177 Running                 ./example.sh &

从列表中,您可以找到进程 ID 并使用它使用以下命令终止进程。

kill %1

杀死进程的一般语法是:

kill %ProcessID

在 Bash 中使用 disown 保持当前作业运行

即使终端关闭,您也可以保持当前作业在后台运行。 为此,我们将使用名为 disown 的命令。

要使当前作业持续在后台运行,您可以遵循以下示例命令:

disown -h %3

即使终端关闭,我们也会让 id 为 3 的进程保持活动状态。 在这里,-h 是使进程保持活动状态的选项。

此命令的一般语法是:

disown -h %ProcessID

阻止后台进程继续将消息打印到终端

要防止后台进程将消息打印到终端窗口,您可以遵循以下语法:

Your_Command 2>/dev/null &

这将停止在终端窗口中打印消息。


使用 nohup 使命令在后台运行

如果要让一个进程一直在后台运行,即使终端关闭,也必须使用nohup命令。 此命令将执行指定为其参数的其他程序并忽略所有 SIGHUP 信号。

当您关闭终端时,它会发送一个 SIGHUP 信号以关闭控制终端下所有正在运行的进程。 由于此命令忽略了 SIGHUP 命令,因此 nohup 命令运行的进程在被杀死之前一直处于活动状态。

您必须在此命令中包含 &。 您可以按照以下示例操作:

nohup ./MyScript.sh &

此命令将运行后台进程并将其输出写入 nohup.out 文件。


在 Bash 中将正在运行的前台进程转换为后台进程

要将前台进程转移到后台,您必须执行以下两个步骤:

  • 首先,您必须按 Ctrl+Z 停止目标进程。
  • 使用命令 bg 将停止的进程移动到后台。 您可以遵循以下语法:
bg %ProcessID

本文中使用的所有代码都是用 Bash 编写的。 它只会在 Linux Shell 环境中工作。

上一篇:Bash 等待后台进程

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Bash 等待后台进程

发布时间:2023/05/18 浏览次数:121 分类:操作系统

本篇文章介绍如何在 Bash 中等待后台进程。Bash 等待后台进程。Bash 中的 wait 命令可用于等待所有后台进程完成。

Bash 中检查变量是否包含值

发布时间:2023/05/18 浏览次数:173 分类:操作系统

有时,我们需要检查变量是否包含值。 这在处理包含要运行的用户输入的项目时很重要。在 Bash 脚本中,我们可以通过多种方式来检查变量是否包含值。 本文将展示我们如何检查变量的值。

Bash 脚本中的变量插值

发布时间:2023/05/18 浏览次数:79 分类:操作系统

本文是关于在 Bash 脚本中使用变量以及如何在 Bash 脚本中插入这些变量。Bash 脚本中的变量。每种编程语言都有具有特定数据类型的变量。

在 Bash 中修改函数内的全局变量

发布时间:2023/05/18 浏览次数:181 分类:操作系统

在本文中,我们将学习如何在 Bash 的函数内修改全局变量。在 Bash 中修改函数内的全局变量 如果你在脚本中声明你的变量,Bash 中的每个变量默认都是全局的,这意味着它可以被任何函数、脚本

Bash 变量作用域

发布时间:2023/05/18 浏览次数:91 分类:操作系统

本文介绍了 Linux 中的 bash 变量作用域。 它还对变量类型、声明变量和访问它们进行了讲解。

Shell 编程中变量值加一

发布时间:2023/05/18 浏览次数:135 分类:操作系统

本篇文章我们将介绍如何在 bash 中增加一个变量。 我们还将学习在 Linux 中的 bash 脚本中使用的不同类型的增量运算符。

在 Bash 脚本中执行变量中的命令

发布时间:2023/05/18 浏览次数:107 分类:操作系统

本篇文章是关于将 Bash 命令存储在一个变量中,然后直接从这个变量中执行它。 首先,我们将讨论执行变量中包含的命令的多种方法,然后是几个脚本示例。

Bash 变量相乘

发布时间:2023/05/18 浏览次数:50 分类:操作系统

本篇文章介绍如何在 Bash 中将两个变量相乘。在 Bash 中乘以变量。将两个变量相乘在 Bash 中是一个简单的操作。

Bash md5sum 命令

发布时间:2023/05/18 浏览次数:197 分类:操作系统

本篇文章介绍如何在 Bash 中使用 md5sum 命令。Bash md5sum 命令。md5sum 命令打印给定文件的 32 字符和 128 位校验和。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便