linux kill命令使用場景:當需要中斷一個前台進程的時候,通常是使用< Ctrl+c >組合鍵;但是對於一個後台進程恐怕就不是一個組合鍵所能解決的了,這時就必須求助於kill命令。
kill命令是通過向進程發送指定的信號來結束進程的。如果沒有指定發送信號,那麼默認值為TERM信號。TERM信號將終止所有不能捕獲該信號的進程。至於那些可以捕獲該信號的進程可能就需要使用kill(9)信號了,該信號是不能被捕捉的。
kill命令的語法:
kill [-s 信號 | -p ] [ -a ] 進程號
kill -l [信號]
說明:-s 指定需要送出的信號。既可以是信號名也可以對應數字。
-p 指定kill命令只是顯示進程的pid,並不真正送出結束信號。
-l 顯示信號名稱列表,這也可以在/usr/include/linux/signal.h文件中找到。
kill命令的使用:
[舉例] 在執行一條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
再用ps命令查看,就可以看到,find進程已經被殺掉了。
⑵ 如何kill掉linux的進程
首先,用ps查看進程,方法如下:
$ ps -ef
……
smx 1822 1 0 11:38 ? 00:00:49 gnome-terminal
smx 1823 1822 0 11:38 ? 00:00:00 gnome-pty-helper
smx 1824 1822 0 11:38 pts/0 00:00:02 bash
smx 1827 1 4 11:38 ? 00:26:28 /usr/lib/firefox-3.6.18/firefox-bin
smx 1857 1822 0 11:38 pts/1 00:00:00 bash
smx 1880 1619 0 11:38 ? 00:00:00 update-notifier
……
smx 11946 1824 0 21:41 pts/0 00:00:00 ps -ef
或者:
$ ps -aux
……
smx 1822 0.1 0.8 58484 18152 ? Sl 11:38 0:49 gnome-terminal
smx 1823 0.0 0.0 1988 712 ? S 11:38 0:00 gnome-pty-helper
smx 1824 0.0 0.1 6820 3776 pts/0 Ss 11:38 0:02 bash
smx 1827 4.3 5.8 398196 119568 ? Sl 11:38 26:13 /usr/lib/firefox-3.6.18/firefox-bin
smx 1857 0.0 0.1 6688 3644 pts/1 Ss 11:38 0:00 bash
smx 1880 0.0 0.6 41536 12620 ? S 11:38 0:00 update-notifier
……
smx 11953 0.0 0.0 2716 1064 pts/0 R+ 21:42 0:00 ps -aux
此時如果我想殺了火狐的進程就在終端輸入:
$ kill -s 9 1827
其中-s 9 制定了傳遞給進程的信號是9,即強制、盡快終止進程。各個終止信號及其作用見附錄。
1827則是上面ps查到的火狐的PID。
簡單吧,但有個問題,進程少了則無所謂,進程多了,就會覺得痛苦了,無論是ps -ef 還是ps -aux,每次都要在一大串進程信息裡面查找到要殺的進程,看的眼都花了。
更詳細的請看www.linuxprobe.com
⑶ 關於Linux的kill命令
因為Kill輸出的信息不是STDOUT而是STDERR,所以你要這樣寫:
kill pid 2>/tmp/xxx
普通「>"重定向是重定向STDOUT,"2>"才是重定向STDERR
⑷ Linux kill 命令怎麼用
Linux kill 命令用於終止進程,其用法步驟如下:
需要准備的材料分別是:電腦、linux連接工具。
1、首先連接上linux主機,進入命令行狀態。
⑸ linux kill -9,-2,-3之外還有哪些,分別是什麼意思
後面跟數字表示的是信號的類型,可以用kill -l查看所有的進程通信信號。一共有63個吧!不同的信號代表的意思不同,關於每種信號的作用,你需要去查專門的手冊。 man kill里有簡單解釋
⑹ linux kill %1 是什麼意思
kill %1這條命令表示殺死一個後台程序,這個後台程序的「工作號碼(jobnumber)」是1號。
這條命令往往是用在輸入如下命令之後:jobs -l
jobs用來查看目前的後台工作狀態,顯示結果裡面最前面的數字型大小就是對應進程的jobnumber,然後就可以用kill %jobnumber的格式來殺死jobnumber對應的後台工作。
⑺ linux kill 命令
ps aux 查一下 tty1的pid
然後 kill -9 pid數值
具體用法 man kill
⑻ linux kill 和killall的區別
kill命令用法: 1.作用 kill命令用來中止一個進程。 2.格式 kill [ -s signal | -p ] [ -a ] pid ... kill -l [ signal ] 3.參數 -s:指定發送的信號。 -p:模擬發送信號。 -l:指定信號的名稱列表。 pid:要中止進程的ID號
⑼ linux系統怎麼kill進程
Linux最常用kill命令來結束進程,但是kill命令需要用進程的PID作為參數。如何知道指定進程的PID呢?如果是通過進程命令的名字來查看對應PID,可以通過ps命令或pstree命令看到它的PID;如果是通過網路監聽埠號查看進程,需要用netstat命令看看埠號對應的進程的PID。
ps命令用於查看系統所有進程,而pstree命令以樹狀顯示進程之間的關系,有助於判斷要殺死哪個進程。記住在它們顯示的結果中記下需要結束的進程PID。ps命令的常用用法是:
ps aux
-a參數表示不與終端有關的進程也顯示出來。
pstree命令的常見用法是:
pstree -Aup
-p參數表示列出進程PID。
netstat命令可以查看監聽埠的進程是哪個,常用的方式是:netstat -tlnp
這條命令的意思是列出系統裡面監聽網路連接的埠號和相應的進程PID。
參數說明:
-t:表示列出TCP連接(也可以加上-u參數表示同時列出UDP網路連接)
-l:表示列出正在網路監聽的服務
關鍵是下面兩個參數:
-n:表示以埠號來顯示
-p:表示列出進程PID
Local Address這一列下面就有埠號,可以看到它對應的PID是多少,還有Program name那一列是進程名字。同樣是要記下需要結束的進程的PID。
知道了指定進程的PID後,就可以用kill命令結束進程了:
kill -9 PID號碼
或者kill -2 PID號碼
-9參數是強制結束進程,而-2參數是相當於用鍵盤組合鍵Ctrl+C的方式正常結束進程。
⑽ Linux中kill -9 $$是做什麼的啊
$$ 是您正在操作的shell的PID
echo $$ #顯示當前shell的PID
kill -9 $$ #殺死當前shell
註: shell是你(用戶)和Linux(或者更准確的說,是你和Linux內核)之間的介面程序。你在提示符下輸入的每個命令都由shell先解釋然後傳給Linux內核。常用的有bash,csh,ksh。