【kill】Centos/Linux 如何杀死那该死的进程?

340 阅读3分钟

简介

系统版本:Centos7.6

kill 命令发送指定的信号到指定的进程或者进程组。如果该信号没有指定,则发送SIGTERM信号(15),即终止信号。如果SIGTERM信号(15)无法终止,可使用SIGKILL(9)信号尝试结束进程。现在的大多数命令都会内置一个kill函数,用法和上面所描述的非常相似。如果SIG为0,则不发送任何信号,但是仍会执行错误检查。

基础语法

kill [option] <PID> # <PID>为需要终止进程的ID号

PID的五种情况

选项介绍

基本用法

1、终止进程

> kill 4682
> kill 4682 7492 8810 2314

2、发送指定信号给指定进程

> kill -s 2 4682 # 2为信号SIGINT
> kill -s SIGINT 4682

3、强杀进程或进程组

强杀PID:4682进程
> kill -9 4682

强杀PID:4682所在的整个进程组
> kill -9 -4682

4、查看所有可用信号

> kill -l
> kill --list

显示信号编号为11的信号名称
> kill -l 11

5、 杀死指定用户所有进程

过滤出username用户的进程,然后强制结束掉它
> kill -9 $(ps -ef | grep username)

注:4682、7492、8810、2314是拟定的一个PID

kill中的信号

信号的详细介绍请查看信号的行为说明

 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

注意事项

1、使用kill命令结束某一个进程时要确保具有该进程的相应权限,否则可能无法终止该进程。

2、某些进程可能需要多次发送信号才能终止,例如一些守护进程。

3、强制终止进程可能会导致数据丢失、程序损坏或者其他一些不可预知的副作用,请谨慎使用。