的通用语法kill command
是:
# kill [signal or option] PID(s)
为一个kill command
一种Signal Name
可能:
Signal Name Signal Value Behaviour
SIGHUP 1 Hangup
SIGKILL 9 Kill Signal
SIGTERM 15 Terminate
从上面的行为显然,
SIGTERM
是杀死进程的默认和最安全的方法。SIGHUP
是一种比杀死进程更不安全的方式SIGTERM
.SIGKILL
是上面三种中最不安全的方式,kill 掉一个进程,不保存就终止进程。为了杀死进程,我们需要知道进程的进程ID使用PID查找Linux进程名称。一种
Process
是一个程序的实例。每次程序启动时,自动生成一个唯一的PID
。
# ps -A
PID TTY TIME CMD
1 ? 00:00:01 init
2 ? 00:00:00 kthreadd
3 ? 00:00:00 migration/0
4 ? 00:00:00 ksoftirqd/0
5 ? 00:00:00 migration/0
6 ? 00:00:00 watchdog/0
7 ? 00:00:01 events/0
8 ? 00:00:00 cgroup
9 ? 00:00:00 khelper
10 ? 00:00:00 netns
11 ? 00:00:00 async/mgr
12 ? 00:00:00 pm
13 ? 00:00:00 sync_supers
14 ? 00:00:00 bdi-default
15 ? 00:00:00 kintegrityd/0
16 ? 00:00:00 kblockd/0
17 ? 00:00:00 kacpid
18 ? 00:00:00 kacpi_notify
19 ? 00:00:00 kacpi_hotplug
20 ? 00:00:00 ata/0
21 ? 00:00:00 ata_aux
22 ? 00:00:00 ksuspend_usbd
# pidof mysqld
1684
另一种方法是
# ps aux | grep mysqld
root 1582 0.0 0.0 5116 1408 ? S 09:49 0:00
/bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql
--socket=/var/lib/mysql/mysql.sock --pid-file=/var/run/mysqld/mysqld.pid
--basedir=/usr --user=mysql
mysql 1684 0.1 0.5 136884 21844 ? Sl 09:49 1:09
/usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql
--log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid
--socket=/var/lib/mysql/mysql.sock
root 20844 0.0 0.0 4356 740 pts/0 S+ 21:39
0:00 grep mysqld
在我们提前执行之前
kill command
, 一些需要注意的要点:
执行相同功能的另一种方法是执行
pgrep
命令。
# pgrep mysql
3139
杀掉上面的进程
PID
,使用如图所示的kill命令。
kill -9 3139
上面的命令将杀死具有
pid
=3139
另一种执行相同功能的方法可以重写为。
# kill -SIGTERM 3139
kill -9 PID
类似于kill -SIGKILL PID
反之亦然。
# pkill mysqld
一次杀死多个进程。
# kill PID1 PID2 PID3
or
# kill -9 PID1 PID2 PID3
or
# kill -SIGKILL PID1 PID2 PID3
如果一个进程有太多实例和许多子进程,我们有一个命令
killall
或者pkill
.这两个是该系列中唯一的命令,它将进程名称作为参数代替进程编号。
# killall [signal or option] Process Name
Or
# pkill Process Name
杀死所有
mysql instances
连同子进程,使用如下命令。
# killall mysqld
OR
# pkill mysqld
可以使用以下任何命令来验证进程的状态。
# service mysql status
OR
# systemctl status mysql
# pgrep mysql
# ps -aux | grep mysql