精通Linux的“kill”命令
创始人
2024-03-01 11:29:29
0

无论你使用哪种操作系统,你一定会遇到某个行为失常的应用,它把自己锁死并拒绝关闭。在Linux(还有Mac),你可以用一个"kill"命令强制终结它。在这个教程中,我们将展示给你多种方式使用"kill"命令终结应用。

Kill命令和信号

当你执行一个"kill"命令,你实际上发送了一个信号给系统,让它去终结不正常的应用。总共有60个你可以使用的信号,但是基本上你只需要知道SIGTERM(15)和SIGKILL(9)。

你可以用这个命令看到所有信号的列表:

kill -l

  • SIGTERM - 此信号请求一个进程停止运行。此信号是可以被忽略的。进程可以用一段时间来正常关闭,一个程序的正常关闭一般需要一段时间来保存进度并释放资源。换句话说,它不是强制停止。
  • SIGKILL - 此信号强制进程立刻停止运行。程序不能忽略此信号,而未保存的进度将会丢失。

使用"kill"的语法是:

kill [信号或选项] PID(s)

默认信号(当没有指定的时候)是SIGTERM。当它不起作用时,你可以使用下面的命令来强制kill掉一个进程:

kill SIGKILL PID

或者

kill -9 PID

这里"-9"代表着SIGKILL信号。

如果你不知道应用的PID,仅需要运行这个命令:

ps ux

它会显示所有正在运行的应用还有应用的PID。

例如,要kill掉Chrome,我会运行命令:

kill -9 3629

也可以在同一时间kill多个进程。

kill -9 PID1 PID2 PID3

PKill

“pkill"命令允许使用扩展的正则表达式和其它匹配方式。你现在可以使用应用的进程名kill掉它们,而不是使用PID。例如,要kill掉Firefox浏览器,只需要运行命令:

pkill firefox

使用正则表达式匹配的话,你可以输入进程名的部分字符,比如:

pkill fire

为了避免kill掉错误的进程,你应该用一下"pgrep -l [进程名]“列表来匹配进程名称。

Killall

killall同样使用进程名替代PID,并且它会kill掉所有的同名进程。例如,如果你正在运行多个Firefox浏览器的实例,可以用命令把它们全部kill掉:

killall firefox

在Gnome中,你可以使用这个命令重启Nautilus:

killall nautilus

xkill

xkill 是图形方式kill一个应用。当你在终端键入"xkill”,你的光标将立刻变成一个"十字”。你只需要做的是在不正常的应用上点击一下,它就会立刻kill掉这个应用。如果你经常用的话,你也可以添加一个键盘快捷键来激活xkill

结论

当应用不正常而导致系统挂起的时候,人们往往重启计算机并且再一次开启所有的任务。而有了这些"kill"命令,你将能够更好的处理不正常的应用,从而避免导致系统崩溃。当你不想因一个不正常的进程而导致服务器宕机时,它尤其的有用。


via: http://www.maketecheasier.com/kill-command-in-linux/

本文由 LCTT 原创翻译,Linux中国 荣誉推出

译者:flsf 校对:wxy

相关内容

想提升你的Linux技能吗...
Nutyx是一款独特的Linux发行版,以其独立性和挑战性吸引了众...
2026-02-19 06:19:34
招商银行申请AI基础设施性...
国家知识产权局信息显示,招商银行股份有限公司申请一项名为“AI基础...
2026-02-18 12:50:13
2026全球开发者先锋大会...
2025 GDPS举办现场 采访对象提供 2026全球开发者先锋大...
2026-02-15 08:51:36
Linux内核告别“沉睡”...
在最新发布的 Linux 内核版本中,英特尔 440BX 和 44...
2026-02-14 07:20:59
盈米基金旗下且慢“AI小顾...
上证报中国证券网讯(记者 朱妍)“为进一步提升和拓展AI小顾的服务...
2026-02-10 17:50:13
微软开源Litebox库系...
IT之家 2 月 7 日消息,科技媒体 WinAero 昨日(2 ...
2026-02-07 08:48:15

热门资讯

2020 年的 GitHub ... 距离 2020 年结束只剩下区区 24 天,我们即将结束魔幻的 2020 ,迎来新的一年,新的一年或...
开源新闻速递:openSUSE... 今日关注openSUSE 项目组的 Dominique Leuenberger 在他的周报中说:“这...
KDE4.11 Beta1 正...   KDE 项目工作组刚刚发布了 KDE Software Compilation 4.11 Bet...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
使用时间序列数据,用开源工具助... InfluxData 是一个开源的时间序列数据库平台。下面介绍了它是如何被用于边缘应用案例的。收集到...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Textual:为 Pytho... 快速入门使用 TextualPython 在 Linux 上有像 TkInter 这样的优秀 GUI...
硬核观察 #1245 Open... #1 OpenAI 悄然删除禁止将 ChatGPT 用于 “军事和战争” 的禁令在 1 月 10 日...