网站地图
hnsjyk999.com
三九百科 包罗万象
kill(IT行业语) 发布于:

说明:kill 送出一个特定的信号 (signal) 给行程 id 为 pid 的行程根据该信号而做特定的动作,若没有指定,预设是送出终止 (TERM) 的信号

linux命令提示符

命令名称:kill

使用权限:所有使用者

使用方式:

kill [-s sigspec | -n signum | -sigspec] pid | jobspec … or kill -l [sigspec]

说明:kill 送出一个特定的信号 (signal) 给行程 id 为 pid 的行程根据该信号而做特定的动作,若没有指定,预设是送出终止 (TERM) 的信号

-s (signal) : 其中常用的讯号有 HUP (1),KILL (9),TERM (15),分别代表着重跑,砍掉,结束; 详细的信号可以用 kill -l (见下结果,可用数字带入)

-p : 印出 pid,并不送出信号

-l (signal) : 列出所有可用的信号名称

这个就是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

一般范例:

将 pid 为 323 的线程砍掉 (kill) :

kill -9 323

将 pid 为 456 的线程重跑 (restart) :

kill -HUP 456

一般来讲,查询PID的命令是

ps -ef | grep yum(表示查询的是yum的PID,根据查询的东西不同而异)。

举一个实际的例子:

比方说,fedora的在线更新命令yum锁锁住了,常见的提示是

Existing lock /var/run/yum.pid: another copy is running as pid 19698.

Another app is currently holding the yum lock; waiting for it to exit…

Another app is currently holding the yum lock; waiting for it to exit…

Another app is currently holding the yum lock; waiting for it to exit…

Another app is currently holding the yum lock; waiting for it to exit…

Another app is currently holding the yum lock; waiting for it to exit…

…….

这里就没必要使用ps命令了,因为已经知道PID就是19698这个值了,因此不用在查询。

这时就要使用kill将19698的进程杀死。其中的19698就是PID。

所以在命令行内输入:

kill -9 19698

就能成功的杀死这个进程。

kill的改进用法如下:

一、把ps的查询结果通过管道给grep查找包含特定字符串的进程。管道符“|”用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入。

$ ps -ef | grep firefox

smx 1827 1 4 11:38 ? 00:27:33 /usr/lib/firefox-3.6.18/firefox-bin

smx 12029 1824 0 21:54 pts/0 00:00:00 grep –color=auto firefox

这次就清爽了。然后就是

$kill -s 9 1827

还是嫌打字多?

二、使用pgrep:

一看到pgrep首先会想到什么?没错,grep!pgrep的p表明了这个命令是专门用于进程查询的grep。

$ pgrep firefox

1827

看到了什么?没错火狐的PID,接下来又要打字了:

$kill -s 9 1827


相关文章推荐:
  • 合金装备2:自由之子
  • 我的学科男神(网络大电影)
  • 核燃料循环
  • 平遥古城站
  • 鲁麦14号
  • Scott Mednick
  • 金杨(花样滑冰双人滑运动员)
  • Dunja Klemenc
  • Noa(美裔以色列歌手Noa)
  • 自由晚报
  • 齐哀公