如何在Linux命令行中杀死进程?

如果你想在linux上停止某个进程,你会怎么操作?如果命令/进程在前台运行,您可以使用 Ctrl+C 终端快捷方式,但是,如果进程不可见(在后台运行),您可以使

各位老铁们好,相信很多人对如何在Linux命令行中杀死进程?都不是特别的了解,因此呢,今天就来为大家分享下关于如何在Linux命令行中杀死进程?以及的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

“终止进程”是指在进程执行过程中停止进程。如果您知道进程ID (PID),则可以使用kill命令,如下所示:

Kill signal PID 在上面的语法中,signal 是指要发送的终止信号,PID 是指进程的ID。

在开始终止进程之前,您应该了解一些事情,例如哪些终止信号可用,如何查找PID 等。

让我们从信号开始。

Linux 中的终止信号

当进程被操作系统或用户终止时,即进程未自行完成时,会向其发送终端信号。

以下是可用的终止信号:

SIGHUP: 1:信号挂起:当控制进程的终端关闭时发送到该进程。 SIGINT:2:信号中断:当用户终止进程时向进程发送的信号。 (例如Ctrl + X) SIGKILL: 9:信号Kill:立即退出进程的信号,不允许其保存当前状态。 SIGTERM: 15:信号终止:发送到请求终止进程的信号。该信号可以被进程忽略。但这是终止进程的首选方法,因为当进程收到SIGTERM 时它会释放资源。 SIGSTOP:19 (x86、ARM)、17 (Alpha)、23 (MIPS)、24 (PARISC):信号停止:停止进程但稍后恢复进程的信号。通常使用信号9 和15

获取进程的PID

你还需要知道你想要杀死的进程的详细信息,使用kill命令你必须提供进程的ID(PID),你可以从进程名称中获取PID:

pidof exact_process_name

在 Linux 命令行中终止进程

让我们首先看一下kill 命令,因为您将比killall 使用更多的命令。

使用 kill 命令

Kill 命令要求您知道要终止的进程的ID,以及终止信号(可选)。

要简单地终止该命令,请使用以下语法:

如何在Linux命令行中杀死进程?

kill [signal] PID 向PID 发送终止信号是可选的,如果没有提供信号,kill 默认发送SIGTERM (15),以优雅终止所述进程。

我使用sleep 命令启动了后台进程(它给了我一个PID),让我们尝试使用Kill 命令杀死它。

杀死这个特定的sleep 实例如下所示:

$ sleep 120 [1] 125686 $ Kill 125686 [1] +终止睡眠120 如果我想使用终止信号,我可以使用数值或信号本身:

$ 睡眠120 [1] 125746$ 杀死-SIGKILL 125746[1] + 杀死睡眠120####—-##—–####$ 睡眠120 [1] 125759$ 杀死-9 125759 [1]+killed sleep 120如果kill命令没有指定信号,则默认使用SIGTERM(15)。

使用 killall 命令

如果不知道某个进程的PID,或者该进程有多个子进程,想一次性杀死子进程和父进程,可以使用killall命令。

Killall [signal] process-name 与kill命令类似,指定终止信号是可选的,当没有指定终止信号时,killall将发送SIGTERM(15)来优雅地关闭进程。

为了演示killall的使用,我想杀死两个正在运行的sleep命令。

$ sleep 120 [1] 18609 $ sleep 2000 [2] 18612 $ Killall sleep [1] – Termerated sleep 120 [2] + Termulated sleep 2000 此外,您可以使用-e 标志来查找进程名称的精确匹配。

使用 pkill 命令

命令kill 的替代命令是pkill 命令,它是pgrep 和kill 命令的“组合”。

Killall 杀死所有具有匹配名称的进程。另一方面,pkill 使用模式匹配来匹配进程并杀死它们。

语法如下:

pkill [选项] pkill 模式命令中可用的一些有用选项如下:

用户评论

如何在Linux命令行中杀死进程?
暖栀

我一直在找这个!之前总是在后台运行的任务stuck了不知道怎么解决,看到这篇文章感觉瞬间明智好多!

    有12位网友表示赞同!

如何在Linux命令行中杀死进程?
心悸╰つ

写得真不错,解释的很清楚!我现在刚开始学习Linux,很多命令都不懂,你写的教程很适合新手入门。 特别是kill指令的部分,用例子讲解得特别好理解。

    有20位网友表示赞同!

如何在Linux命令行中杀死进程?
限量版女汉子

杀进程的时候我比较喜欢使用信号量的方式,这样可以更精准地控制进程终止。虽然这篇文章提到了其他方法,但我还是觉得这个是最便捷的。

    有9位网友表示赞同!

如何在Linux命令行中杀死进程?
葵雨

同意!有时候kill 遇到问题的时候会尝试使用更强力的命令,不过确实要注意谨慎,毕竟强制终止可能导致数据丢失风险。

    有19位网友表示赞同!

如何在Linux命令行中杀死进程?
|赤;焰﹏゛

我觉得标题写得不够直观,比如说可以用“Linux 常用命令: 如何快速结束进程?”这样更吸引人看吧?

    有16位网友表示赞同!

如何在Linux命令行中杀死进程?
无寒

我是比较喜欢使用图形界面管理进程的,不过偶尔也会在命令行中操作,这篇文章对我的理解很有帮助!

    有8位网友表示赞同!

如何在Linux命令行中杀死进程?
巷口酒肆

话说我有个疑问,如果某个进程完全占满了CPU资源怎么办?这个指令还能用吗?需要更多的技巧才行?

    有19位网友表示赞同!

如何在Linux命令行中杀死进程?
聽風

文章内容挺不错的,特别是那些错误处理方法的建议,有时候我们真的会遇到一些难以解决的问题!

    有9位网友表示赞同!

如何在Linux命令行中杀死进程?
眉黛如画

我也经常会因为后台任务卡住而头疼,现在有了这篇文章指导,以后就不用烦恼了!要好好收藏一下。

    有12位网友表示赞同!

如何在Linux命令行中杀死进程?
万象皆为过客

这篇文章虽然不错,但是我觉得对于新手来说可能有些难度,可以多添加一些解释和举例说明会更加友好些。

    有8位网友表示赞同!

如何在Linux命令行中杀死进程?
绝版女子

杀进程是一个非常重要的技能,特别是当你遇到死活不运行的程序的时候。你的文章写得很好,涵盖了大多数常用的方法。我平时也会使用ps命令来查看进程信息。

    有9位网友表示赞同!

如何在Linux命令行中杀死进程?
青衫故人

这个kill指令真的是 Linux 中必备的工具!而且它还提供了很多选项,可以根据具体情况选择不同的终止方式

    有11位网友表示赞同!

如何在Linux命令行中杀死进程?
醉枫染墨

我觉得这篇文章可以加上一些更多高级的使用技巧,比如如何杀死多个进程 、 或者如何使用脚本自动终止进程等等。

    有8位网友表示赞同!

如何在Linux命令行中杀死进程?
素衣青丝

其实有时候后台任务意外中止了,会导致数据丢失或系统不稳定情况,需要注意谨慎操作和备份重要文件!

    有18位网友表示赞同!

如何在Linux命令行中杀死进程?
烬陌袅

我很喜欢你文章中提到的`pkill`命令,它可以依据进程名称快速定位并终止指定的进程,比单纯使用kill指令更为便捷!

    有5位网友表示赞同!

如何在Linux命令行中杀死进程?
tina

我也非常同意你的观点,在终止进程之前应尝试发送信号,这样可以给进程一个机会正常的关闭,避免数据丢失的问题。

    有5位网友表示赞同!

如何在Linux命令行中杀死进程?
坠入深海i

感谢分享这篇文章,它让我了解到很多新的知识。我会好好尝试这些方法,提高自己的Linux操作水平!

    有8位网友表示赞同!

原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/165888.html

(0)
小su's avatar小su
上一篇 2024年9月21日 下午12:12
下一篇 2024年9月21日 下午12:13

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注