0%

精准终止 之 kill

精准终止 之 kill

.. _linux-beginner-kill:

Linux kill 命令用于删除执行中的程序或工作。

官方含义为:

kill - send a signal to a process

kill 命令可将指定的信号发送给相应的进程或工作。 kill 命令默认使用的信号为15(SIGTERM),用于结束进程或工作。如果进程或工作忽略此信号,则可以使用信号9(SIGKILL),强制杀死进程或作业。程序或工作的编号可利用 ps 指令或 jobs 指令查看。

语法

1
$ kill [option] <pid> [...]

参数说明

  • -l <信息编号>  若不加<信息编号>选项,则 -l 参数会列出全部的信息名称。
  • -s <信息名称或编号>  指定要送出的信息。

所有可用的信号

使用 kill -l 命令列出所有可用信号。

1
2
$  kill -l
HUP INT QUIT ILL TRAP ABRT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH POLL PWR SYS

其中最常用的信号为:

  • 1 (HUP):重新加载进程。
  • 9 (KILL):杀死一个进程。
  • 15 (TERM):正常停止一个进程。

几个实例

杀死进程

1
$ kill 12345

强制杀死进程

1
2
3
$ kill -KILL 123456
# 或者
$ kill -9 123456

那么如何kill某个用户的所有进程呢,比如用户为user,可以通过下面的命令执行:

1
2
3
$ kill -9 $(ps -ef | grep user) 
# 或者
$ kill -u user
处无为之事,行不言之教;作而弗始,生而弗有,为而弗恃,功成不居!

欢迎关注我的其它发布渠道