Linux杀死进程命令

Linux提供了杀死进程的相关命令,来帮助我们重启或者关掉一些应用程序。

根据进程ID杀死进程-kill

kill用来杀死某个进程,前提是我们知道进程ID,可以用pidof 进程 来获取某个进程ID,当然也可以使用 ps 命令。

信号不是必须的,最常用的信号代码是 -9 ,对僵尸进程我们可以使用 kill -9 进程ID 强行杀死进程。

关于更多的信号代码可以使用 kill -l 获取。

1
2
3
4
5
kill[ 信号代码] 进程ID( kill - pid)

- s: 指定发送的信号
- p: 模拟发送信号
- l: 指定信号的名称列表

举例:杀死mysql进程

  1. 获取mysql的进程ID,运行 pidof mysqld ,得到 32432 。
  2. 使用kill命令杀掉上述进程ID。 kill -9 32432。
  3. 再次执行 pidof mysqld,输出空,证明该进程已经被干掉。

根据进程名杀死进程-pkill和killall

pkill 和 killall被归到不太常用这一类,是因为大多数情况下,kill已经能满足我们的需求。但有些时候仍然需要用到,这两个命令擅长于通过进程名杀掉进程。

有时候一个进程名对应多个进程,而我们用kill 去杀的时候需要一个个去杀。

1
2
3
4
5
# kill PID1 PID2 PID3
or
# kill - 9 PID1 PID2 PID3
or
# kill - SIGKILL PID1 PID2 PID3

那么这个时候我们可以用 pkill 或 killall Process Name来杀掉所有进程。

举例:杀死php进程

1
2
3
4
5
6
1. ps - ef | grep php - fpm 查看php进程
0 72713 1 0 14 618 ?? 1:38.40 php-fpm
-2 72714 72713 0 14 618 ?? 0:00.02 php-fpm
-2 72715 72713 0 14 618 ?? 0:00.01 php-fpm
2. pkill php - fpm
3. ps - ef | grep php - fpm 查看php进程