kill命令
當需要中斷一個前台進程的時候,通常是使用< Ctrl+c >組合鍵;但是對於一個後台進程恐怕就不是一個組合鍵所能解決的了,這時就必須求助於kill命令。該命令可以終止後台進程。至於終止後台進程的原因很多,或許是該進程占用的CPU時間過多;或許是該進程已經掛死。總之這種情況是經常發生的。
kill命令是通過向進程發送指定的信號來結束進程的。如果沒有指定發送信號,那麼默認值為TERM信號。TERM信號將終止所有不能捕獲該信號的進程。至於那些可以捕獲該信號的進程可能就需要使用kill(9)信號了,該信號是不能被捕捉的。
kill命令的語法格式很簡單,大致有以下兩種方式:
kill [-s 信號 | -p ] [ -a ] 進程號 ...
kill -l [信號]
-s 指定需要送出的信號。既可以是信號名也可以對應數字。
-p 指定kill命令只是顯示進程的pid,並不真正送出結束信號。
-l 顯示信號名稱列表,這也可以在/usr/include/linux/signal.h文件中找到。
kill命令的使用
下面看看該命令的使用。
[例24] 在執行一條find指令時由於時間過長,決定終止該進程。
首先應該使用ps命令來查看該進程對應的PID,鍵入ps,顯示如下:
PID TTY TIME COMMAND
285 1 00:00:00 -bash
287 3 00:00:00 -bash
289 5 00:00:00 /sbin/mingetty tty5
290 6 00:00:00 /sbin/mingetty tty6
312 3 00:00:00 telnet bbs3
341 4 00:00:00 /sbin/mingetty tty4
345 1 00:00:00 find / -name foxy.jpg
348 1 00:00:00 ps
可以看到該進程對應的PID是345,現在使用kill命令來終止該進程。鍵入:
# kill 345