kill

删除执行中的程序或工作

补充说明

kill命令 用来删除执行中的程序或工作。kill可将指定的信息送至程序。预设的信息为SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制删除程序。程序或工作的编号可利用ps指令或job指令查看。

语法

  1. kill(选项)(参数)
  2. xkill # 图形化关闭程序

选项

  1. -a:当处理当前进程时,不限制命令名和进程号的对应关系;
  2. -l <信息编号>:若不加<信息编号>选项,则-l参数会列出全部的信息名称;
  3. -p:指定kill 命令只打印相关进程的进程号,而不发送任何信号;
  4. -s <信息名称或编号>:指定要送出的信息;
  5. -u:指定用户。

参数

进程或作业识别号:指定要删除的进程或作业。

实例

列出所有信号名称:

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

只有第9种信号(SIGKILL)才可以无条件终止进程,其他信号进程都有权利忽略, 下面是常用的信号:

  1. HUP 1 终端断线
  2. INT 2 中断(同 Ctrl + C
  3. QUIT 3 退出(同 Ctrl + \)
  4. TERM 15 终止
  5. KILL 9 强制终止
  6. CONT 18 继续(与STOP相反, fg/bg命令)
  7. STOP 19 暂停(同 Ctrl + Z

先用ps查找进程,然后用kill杀掉:

  1. ps -ef | grep vim
  2. root 3268 2884 0 16:21 pts/1 00:00:00 vim install.log
  3. root 3370 2822 0 16:21 pts/0 00:00:00 grep vim
  4. kill 3268
  5. kill 3268
  6. -bash: kill: (3268) - 没有那个进程