橘子味的心
标题:Linux shell kill命令

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

kill

kill可将指定的信息送至程序。 预设的信息为 SIGTERM(15),可将指定程序终止。 若仍无法终止该程序,可使用 SIGKILL(9) 信息尝试强制删除程序。

程序或工作的编号可利用 ps 指令或 jobs 指令查看。

kill 命令语法格式

kill [-s <信息名称或编号>][程序]
kill [-l <信息编号>]

选项

  • -l <信息编号>  若不加<信息编号>选项,则-l参数会列出全部的信息名称。
  • -s <信息名称或编号>  指定要送出的信息。
  • [程序]  [程序]可以是程序的PID或是PGID,也可以是工作编号。

范例

首先创建并执行一个 w.sh 的无限循环小程序

#!/bin/bash
# filename: demo.sh
# author:简单编程
# url:www.twle.cn

while :
do
   echo "1" > /dev/null
done

使用 sh w.sh & 执行

[root@localhost shell]# sh w.sh &
[2] 1142

可以看到进程编号是 1142

范例 1. 杀死进程

[root@localhost shell]# kill 1142  
[root@localhost shell]# ps aux | grep w.sh  
root       1139  0.0  0.1 124008  1588 pts/0    T    00:13   0:00 vi w.sh
root       1146  0.0  0.0 112660   980 pts/0    S+   00:16   0:00 grep --color=auto w.sh
[root@localhost shell]#

范例 2. 强制杀死进程

[root@localhost shell]# sh w.sh &
[2] 1148
[root@localhost shell]# kill -KILL 1148
[root@localhost shell]# ps aux | grep w.sh
root       1139  0.0  0.1 124008  1588 pts/0    T    00:13   0:00 vi w.sh
root       1150  0.0  0.0 112660   980 pts/0    S+   00:17   0:00 grep --color=auto w.sh
[2]-  Killed                  sh w.sh

范例 3. 发送 SIGHUP 信号,可以使用一下信号

[root@localhost shell]# sh w.sh &
[2] 1151
[root@localhost shell]# kill -HUP 1151
[root@localhost shell]# ps aux | grep w.sh
root       1139  0.0  0.1 124008  1588 pts/0    T    00:13   0:00 vi w.sh
root       1153  0.0  0.0 112660   976 pts/0    R+   00:18   0:00 grep --color=auto w.sh
[2]-  Hangup                  sh w.sh

范例 4. 彻底杀死进程

[root@localhost shell]# sh w.sh &
[2] 1154
[root@localhost shell]# kill -9 1154
[root@localhost shell]# ps aux | grep w.sh
root       1139  0.0  0.1 124008  1588 pts/0    T    00:13   0:00 vi w.sh
root       1156  0.0  0.0 112660   976 pts/0    R+   00:19   0:00 grep --color=auto w.sh
[2]-  Killed                  sh w.sh

范例 5. 显示系统支持的信号

[root@localhost shell]# 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

范例 6. 杀死指定用户所有进程

todo:

返回上一级

目录

分类