-
kill
(Linux命令提示符)
鎖定
kill送出一個特定的信號 (signal)給行程id為pid的行程根據該信號而做特定的動作,若沒有指定,預設是送出終止 (TERM)的信號。
- 外文名
- kill
- 使用權限
- 所有使用者
- 實 質
- linux命令提示符
kill使用方式
kill [-s sigspec | -n signum | -sigspec] pid | jobspec … or kill -l [sigspec]
-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
kill一般範例
將pid為323的線程砍掉 (kill):
kill -9 323
將pid為456的線程重跑 (restart):
kill -HUP 456
一般來講,查詢PID的命令是
ps -ef | grep yum
(表示查詢的是yum的PID,根據查詢的東西不同而異)。
舉一個實際的例子:
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 -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