Linux kill 和killall命令

时间:2019-11-20 08:53:38  来源:igfitidea点击:

如何使用kill和killall在Linux中强制终止进程?
如何在Linux中强制终止进程?
在Linux中如何使用kill命令来终止进程?

在Linux中如何终止进程

下面我们来终止firefox进程。

首先查找firefox 的进程id pid。
在Linux中,每个进程都会自动分配一个唯一的进程标识号(PID)。

pidof firefox
pgrep firefox
ps aux | grep firefox

在Linux中强制终止进程

在Linux上终止进程,使用kill命令:

kill pid
kill -SIGKILL pid
kill 13591

默认情况下,发送信号15 SIGTERM 来终止进程。
所以下面的命令作用是一样的

kill -15 13591
kill -SIGTERM 13591
kill 13591

检查Firefox进程是否已被杀死:

pidof firefox
pgrep firefox
ps aux | grep firefox

查看所有的信号:

kill -l

输出示例:

1) SIGHUP	 2) SIGINT	 3) SIGQUIT	 4) SIGILL	 5) SIGTRAP
6) SIGABRT	 7) SIGBUS	 8) SIGFPE	 9) SIGKILL	10) SIGUSR1
11) SIGSEGV	12) SIGUSR2	13) SIGPIPE	14) SIGALRM	15) SIGTERM
16) SIGSTKFLT	17) SIGCHLD	18) SIGCONT	19) SIGSTOP	20) SIGTSTP
21) SIGTTIN	22) SIGTTOU	23) SIGURG	24) SIGXCPU	25) SIGXFSZ
26) SIGVTALRM	27) SIGPROF	28) SIGWINCH	29) SIGIO	30) SIGPWR
31) SIGSYS	34) SIGRTMIN	35) SIGRTMIN+1	36) SIGRTMIN+2	37) SIGRTMIN+3
38) SIGRTMIN+4	39) SIGRTMIN+5	40) SIGRTMIN+6	41) SIGRTMIN+7	42) SIGRTMIN+8
43) SIGRTMIN+9	44) SIGRTMIN+10	45) SIGRTMIN+11	46) SIGRTMIN+12	47) SIGRTMIN+13
48) SIGRTMIN+14	49) SIGRTMIN+15	50) SIGRTMAX-14	51) SIGRTMAX-13	52) SIGRTMAX-12
53) SIGRTMAX-11	54) SIGRTMAX-10	55) SIGRTMAX-9	56) SIGRTMAX-8	57) SIGRTMAX-7
58) SIGRTMAX-6	59) SIGRTMAX-5	60) SIGRTMAX-4	61) SIGRTMAX-3	62) SIGRTMAX-2
63) SIGRTMAX-1	64) SIGRTMAX

在Linux中如何使用SIGKILL终止进程

有时SIGTERM(15)失败,那么可能需要使用SIGKILL(信号9)来强制杀死进程。

例如,下面的命令将强制杀死进程13591:

kill -9 13591
kill -SIGKILL 13591

Linux使用killall命令强制终止进程

除了使用PID之外,还可以使用killall或pkill命令按名称杀死任何进程。
语法为:

killall -9 app
pkill -9 app

killall命令向运行任何指定命令的所有进程发送信号。

例如,强制杀死所有nginx进程,运行:

killall -9 nginx

如何终止早于某个时间的进程

如何杀死已经运行了24小时以上的vim进程?

killall -o 24h appName
killall -o 24h vim

后面的单位可以是:

单位含义
s
m分钟
h小时
d
w
M
y

如何杀死较新的进程

如何杀死一个运行还不到60分钟的进程?

killall -y 60 -9 appName
killall -y 60 -9 firefox

如何杀死用户运行的进程

如何杀死以Hyman用户身份运行的vim进程:

killall -u {user} -9 vim
killall -u vim -9 vim