如何在 Linux 中使用 sigstop 信号停止进程如何在 Linux 中使用 sigstop 信号停止进程如何在 Linux 中使用 sigstop 信号停止进程如何在 Linux 中使用 sigstop 信号停止进程
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

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

如何在 Linux 中使用 sigstop 信号停止进程

当某个程序或应用程序导致整个处理器停止时,我们会尝试终止该程序以使系统恢复到正常状态。此时,我们有两个选择,要么使用“KILL”命令终止该程序,要么使用KILL命令中的“-SIGSTOP”信号停止该程序的进程。

-SIGSTOP 选项与 KILL 命令一起使用,以停止进程,我们将在本文中详细讨论它。

如何在 Linux 中使用 SIGSTOP 信号停止进程

在Linux中,进程是一个正在运行的程序或应用程序,它使系统忙碌一段时间,而应用程序/程序是存储在系统上的可执行文件。如果应用程序处于打开状态,则可以使用 KILL 命令来管理其进程; KILL 命令具有不同的信号,如 SIGSTOP、SIGCONT、SIGQUIT 和 SIGTRAP 来管理进程。默认情况下,如果我们使用 KILL 命令,它将考虑 SIGTERM 信号并终止正在运行的程序和应用程序。为了理解它,我们将在 Linux 中打开 Mozilla Firefox 应用程序,为了获得 PID 并确认 Firefox 的运行状态,我们将使用以下命令:

$ pidof firefox

如果 Firefox 没有运行,则不会显示任何输出;输出中显示的 PID 已确认 Firefox 正在运行。首先,为了便于理解,我们将在没有任何信号的情况下使用 Firefox 使用 KILL 命令:

$ kill $(pidof firefox)

在上面的命令中,Firefox 已经被终止,正如我们之前讨论的,默认情况下,kill 命令使用 SIGTERM 信号,为了确认这一点,我们再次使用 PID 命令来检查 Firefox 的 PID:

$ pidof firefox

输出中没有显示任何内容,这意味着程序已终止,为了停止进程,我们将在再次运行 Firefox 后使用 SIGSTOP 信号执行命令:

$ kill -SIGSTOP $(pidof firefox)

输出显示该程序已被搁置一段时间,而不是终止它。要使程序再次正常,执行命令:

$ kill -SIGCONT $(pidof firefox)

SIGCONT 信号从停止时继续进程,我们还可以使用 PID 来停止进程,为此我们将编写一个脚本并使用“&”显示其 PID:

$ (sleep 60; echo “Hello! Linux Hint”) &

上面的命令首先会让终端休眠 60 秒,然后打印“Hello! Linux 提示”,但在打印之前,我们将使用“SIGSTOP”信号来暂停进程:

$ kill -SIGSTOP 32560

打印脚本的过程已停止,现在要继续该过程,请使用“SIGCONT”信号:

$ kill -SIGCONT 32560

输出已显示。

结论

sigstop 是与 KILL 命令一起使用的信号,用于停止进程一段时间而不是永久终止它;可以使用 sigcont 命令恢复该进程。这个信号非常有帮助,特别是当某些进程使系统变慢时,我们可以使用 sigstop 命令停止这些进程。在本文中,我们借助示例详细讨论了 sigstop 信号的用法。为了更好地理解,我们使用程序名称及其 PID 通过 sigstop 信号停止进程。

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