精通 Linux 的 “kill” 命令,你需要这些

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

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

 

Kill命令和信号

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

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

  1. kill -l 

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

使用”kill”的语法是:

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

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

  1. kill SIGKILL PID 

或者

  1. kill -9 PID 

这里”-9″代表着SIGKILL信号。

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

  1. ps ux 

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

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

  1. kill -9 3629 

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

  1. kill -9 PID1 PID2 PID3 

PKill

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

  1. pkill firefox 

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

  1. pkill fire 

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

Killall

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

  1. killall firefox 

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

  1. killall nautilus 

xkill

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

结论

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

 

责任编辑:武晓燕 来源: CU技术社区
相关推荐

2013-12-03 09:12:37

Linux命令kill命令

2022-06-22 10:23:11

运维命令Linux

2019-02-25 09:50:25

Linux命令行僵尸进程

2018-02-02 14:11:04

数据库Redis常用命令

2009-10-20 09:19:11

Linux kill命

2019-07-29 19:30:54

Linux命令ls命令

2010-06-07 12:51:51

Linux 查看进程

2022-11-04 13:06:47

JVMJava程序

2015-10-22 17:20:46

命令工具Linux

2015-02-04 09:45:40

2018-02-08 08:08:12

2021-10-25 14:55:38

Linux技巧命令

2013-10-11 15:26:32

linux网络监控

2022-10-26 07:21:15

网络视频开发

2020-10-14 14:44:51

iPhone 12苹果iPhone

2020-06-16 17:10:44

JavaScriptReact开发

2016-01-20 09:44:22

物联网标准

2018-08-22 09:14:26

前端JavascriptReact

2022-04-28 12:17:26

浏览器连字符hyphens

2018-05-16 09:41:13

神经网络NN函数
点赞
收藏

51CTO技术栈公众号