如何在 Linux 中使用 sigstop 信号停止进程
当某个程序或应用程序导致整个处理器停止时,我们会尝试终止该程序以使系统恢复到正常状态。此时,我们有两个选择,要么使用“KILL”命令终止该程序,要么使用KILL命令中的“-SIGSTOP”信号停止该程序的进程。
-SIGSTOP 选项与 KILL 命令一起使用,以停止进程,我们将在本文中详细讨论它。
如何在 Linux 中使用 SIGSTOP 信号停止进程
在Linux中,进程是一个正在运行的程序或应用程序,它使系统忙碌一段时间,而应用程序/程序是存储在系统上的可执行文件。如果应用程序处于打开状态,则可以使用 KILL 命令来管理其进程; KILL 命令具有不同的信号,如 SIGSTOP、SIGCONT、SIGQUIT 和 SIGTRAP 来管理进程。默认情况下,如果我们使用 KILL 命令,它将考虑 SIGTERM 信号并终止正在运行的程序和应用程序。为了理解它,我们将在 Linux 中打开 Mozilla Firefox 应用程序,为了获得 PID 并确认 Firefox 的运行状态,我们将使用以下命令:
如果 Firefox 没有运行,则不会显示任何输出;输出中显示的 PID 已确认 Firefox 正在运行。首先,为了便于理解,我们将在没有任何信号的情况下使用 Firefox 使用 KILL 命令:
在上面的命令中,Firefox 已经被终止,正如我们之前讨论的,默认情况下,kill 命令使用 SIGTERM 信号,为了确认这一点,我们再次使用 PID 命令来检查 Firefox 的 PID:
输出中没有显示任何内容,这意味着程序已终止,为了停止进程,我们将在再次运行 Firefox 后使用 SIGSTOP 信号执行命令:
输出显示该程序已被搁置一段时间,而不是终止它。要使程序再次正常,执行命令:
SIGCONT 信号从停止时继续进程,我们还可以使用 PID 来停止进程,为此我们将编写一个脚本并使用“&”显示其 PID:
上面的命令首先会让终端休眠 60 秒,然后打印“Hello! Linux 提示”,但在打印之前,我们将使用“SIGSTOP”信号来暂停进程:
打印脚本的过程已停止,现在要继续该过程,请使用“SIGCONT”信号:
输出已显示。
结论
sigstop 是与 KILL 命令一起使用的信号,用于停止进程一段时间而不是永久终止它;可以使用 sigcont 命令恢复该进程。这个信号非常有帮助,特别是当某些进程使系统变慢时,我们可以使用 sigstop 命令停止这些进程。在本文中,我们借助示例详细讨论了 sigstop 信号的用法。为了更好地理解,我们使用程序名称及其 PID 通过 sigstop 信号停止进程。