導航:首頁 > 操作系統 > linux系統kill

linux系統kill

發布時間:2023-01-31 20:31:39

linux kill 命令怎麼用

Linux kill 命令用於終止進程,其用法步驟如下:

需要准備的材料分別是:電腦、linux連接工具。

1、首先連接上linux主機,進入命令行狀態。

② 4-5 Linux 中斷進程 --- kill (kill -2 實驗)

1、信號:傳遞給 Liunx 的事件發生通知機制。

2、kill -l:顯示所有信號。一共有62個信號(沒有32、33)。

3、常用的信號有:

kill -2 PID —— 正常中斷進程(Ctrl + C 一樣)。程序在結束之前,能夠保存相關數據,然後再退出。

kill -9 PID —— 強制殺死一個進程。

kill -15 PID —— 正常方式終止一個程序。中斷進程時應首先用 -15,以便於其能夠預先清理臨時文件和釋放資源。-9 作為最後手段,應對那些失控的進程。

--------------------------------------------------------------------------------

1)、kill -2 中斷後台運行的進程。

紅色下劃線:sleep 10000 & —— 後台運行延時 10000 秒的命令,進程 ID 為1516。

ps -j —— 以作業格式列出進程信息,可以看到 1516 sleep 命令的進程。

(PID:進程 ID、PGID:線程組 ID、SID:會話 ID、TTY:進程運行的終端,標識那個終端控制。(pts遠程終端、tty系統終端)、TIME:進程運行的時間 和 CMD:命令的名稱和參數)。

jobs -l —— 列出後台運行的命令,可以看到 1516 sleep 命令正在後台運行。

黃色下劃線:kill -2 1516 —— 中斷1516 進程。執行成功後,按 Enter 回車系統會給出提示Interrupt 提示(中斷進程)。

藍色方框:ps -j 已查詢不到 1516 sleep 的進程。jobs -l 也沒有後台運行的命令。

2)、kill -2 配合 fg 查看中斷掛起的進程。

紅色下劃線:前台執行 sleep 10000 (延時10000秒)後 ctrl + z 掛起。

黃色下劃線:ps -j 查看進程,可以看到 1344 sleep 進程。jobs -l 查看後台進程 1344 的狀態是stopped 暫停狀態。

藍色下劃線:kill -2 1344 中斷 1344 進程。

綠色下劃線:ps -j 查看進程,仍有 1344 sleep 進程。jobs -l 查看後台進程 1344 的狀態是stopped 暫停狀態。

暫時這樣看,好像 kill -2 並沒有起到中斷進程的作用。

然而,用 fg 把後台的命令調至前台運行時可以發現 1344 sleep 已經被中斷。

紅色下劃線:fg 把已經執行了 kill -2, 狀態為 stopped 的1344 sleep命令調至前台執行。系統也反饋已經調至前台執行。(此時,實際上已經執行了 kill -2 中斷了進程)

黃色方框:ps -j 已經沒有了 1344 sleep 的進程。

藍色方框:jobs -l 後台也沒有指令。

3)、kill -2 配合 bg 查看中斷掛起的進程。

通過上面的思路,kill -2 配合 bg 實驗看看效果。同樣的首先掛起一個命令,狀態為 stopped 暫停。然後用 bg 命令恢復執行。

前面的步驟都是一樣,掛起一個命令。通過 ps 和 jobs 查看進程和後台確認有 1379 的進程,狀態為 stopped 暫停。然後執行 kill-2 中斷進程,再次通過ps 和 jobs 查看進程和後台命令。確認狀態為 stopped  1379 的進程仍然存在。

此時,用 bg 恢復運行掛起的命令,系統提示 sleep 命令已恢復在後台運行。然而通過 ps -j 查看進程會發現 sleep 已經被中斷。jobs -l 查看後台也沒有了運行的 sleep 命令了。

從實驗上看:

1、後台命令運行時(Running),執行 kill -2 可以中斷進程。

2、掛起命令,處於暫停狀態時(Stopped),執行 kill -2 後通過 ps 還可以查詢到進程, jobs還可以查詢到後台命令,狀態仍然是 Stopped 暫停狀態。實際上,用 fg 把暫停的後台進程調至前台運行時,系統反饋 sleep 命令調至前台運行。而再用 ps 查詢不到進程,已經中斷了進程。用 jobs 已經查詢不到後台命令。

3、掛起命令,處於暫停狀態時(Stopped),執行 kill -2 後通過 ps 還可以查詢到進程, jobs還可以查詢到後台命令,狀態仍然是 Stopped 暫停狀態。用 bg 把暫停的後台命令恢復運行時,系統反饋 sleep 命令在後台運行。再用 ps 查詢進程已經中斷,用 jobs 已經查詢不到後台命令。

③ 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的方式正常結束進程。

④ 4-6 Linux 終止進程 --- kill (kill -15 實驗)

kill -15 PID —— 正常方式終止一個程序。中斷進程時應首先用 -15,以便於其能夠預先清理臨時文件和釋放資源。-9 作為最後手段,應對那些失控的進程。

1)、kill -15 終止後台運行的進程。

紅色下劃線:sleep 10000 & —— 後台運行延時 10000 秒的命令,進程 ID 為1550。

黃色下劃線:ps -j —— 列出 1550 sleep 命令的進程。

(PID:進程 ID、PGID:線程組 ID、SID:會話 ID、TTY:進程運行的終端,標識那個終端控制。(pts遠程終端、tty系統終端)、TIME:進程運行的時間 和 CMD:命令的名稱和參數)。

jobs -l —— 列出後台運行的命令,1550 sleep 命令正在後台運行。

藍色下劃線:kill -15 1550—— 終止1550 進程。系統反饋 Terminated 終止 1550 進程。

綠色方框:ps -j 已查詢不到 1550 sleep 的進程。jobs -l 也沒有後台運行的命令。

2)、kill -15 配合 fg 查看終止掛起的進程。

紅色下劃線:sleep 10000 延時 10000 秒後 ctrl + z 掛起。

黃色下劃線:ps -j 查看進程,有 1578 sleep 的進程。jobs -l 查看後台,1578 sleep 的狀態是 stopped 暫停狀態。

藍色下劃線:kill -15 終止 1578 進程。此時系統沒有反饋信息。

綠色下劃線:ps -j 查看進程,1578 sleep 進程仍在。jobs -l 查看後台,1578 sleep 的狀態是 stopped 暫停狀態。

紅色下劃線:fg 1 把後台運行的 sleep 調至前台繼續運行。此時,系統首先提示 sleep 已經調至前台運行,然後又提示 Terminated 終止進程。

藍色下劃線:ps -j 查看進程已經沒有了 1578 sleep 進程。jobs -j 查看也後台也沒有命令在執行。

3)、kill -15 配合 bg 查看終止掛起的進程。

同樣的,首先sleep 10000 後 ctrl + z 掛起。通過 ps -j 查看後台進程有 1590 sleep進程,josb -l 查看後台也有狀態為 stopped  的1590 sleep 命令。 然後,kill -15 1590 終止 1590 進程。再次通過 ps -j 查看1590 sleep進程仍在,josb -l 查看後台還有狀態為 stopped  的1590 sleep 命令。

紅色下劃線:bg 1 把掛起的 sleep 命令繼續運行。此時,系統反饋 sleep 命令在後台運行。

黃色下劃線:ps -j 查看進程,系統反饋 sleep 進程已經  Terminated  終止。jobs -l 也查詢不到sleep 在後台運行。

從實驗上看:

1、後台命令運行時(Running),執行 kill -15 可以終止進程。

2、掛起命令,處於暫停狀態時(Stopped),執行 kill -15 後通過 ps 還可以查詢到進程, jobs還可以查詢到後台命令,狀態仍然是 Stopped 暫停狀態。用 fg 把暫停的後台進程調至前台運行時,系統反饋一行 sleep 命令調至前台運行。跟著一條 Terminated 終止進程。再用 ps 查詢不到進程。用 jobs 已經查詢不到後台命令。(這里和 kill -2 不同,kill -2 後用 fg 系統只反饋一行 sleep 命令調至前台運行,沒有提示進程已中斷。)

3、掛起命令,處於暫停狀態時(Stopped),執行 kill -15 後通過 ps 還可以查詢到進程, jobs還可以查詢到後台命令,狀態仍然是 Stopped 暫停狀態。用 bg 把暫停的後台命令恢復運行時,系統反饋 sleep 命令在後台運行。再用 ps 查詢進程已經終止,用 jobs 已經查詢不到後台命令。(這里和 kill -2一樣)

⑤ linux kill %1 是什麼意思

Linux kill 命令用於刪除執行中的程序或工作。

kill 可將指定的信息送至程序。預設的信息為 SIGTERM(15),可將指定程序終止。若仍無法終止該程序,可使用 SIGKILL(9) 信息嘗試強制刪除程序。程序或工作的編號可利用 ps 指令或 jobs 指令查看。kill %1這條命令表示殺死一個後台程序,這個後台程序的「工作號碼(jobnumber)」是1號。命令查詢看下圖:

⑥ linux kill命令

linux kill命令使用場景:當需要中斷一個前台進程的時候,通常是使用< Ctrl+c >組合鍵;但是對於一個後台進程恐怕就不是一個組合鍵所能解決的了,這時就必須求助於kill命令。

kill命令是通過向進程發送指定的信號來結束進程的。如果沒有指定發送信號,那麼默認值為TERM信號。TERM信號將終止所有不能捕獲該信號的進程。至於那些可以捕獲該信號的進程可能就需要使用kill(9)信號了,該信號是不能被捕捉的。

kill命令的語法:

  1. kill [-s 信號 | -p ] [ -a ] 進程號

  2. 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進程已經被殺掉了。

閱讀全文

與linux系統kill相關的資料

熱點內容
查看ipdns命令 瀏覽:260
命令與征服3凱恩之怒漢化 瀏覽:865
linuxc一站式編程 瀏覽:96
比心app男的識別女的怎麼樣 瀏覽:637
線切割pdf 瀏覽:638
命令與征服3泰伯利亞戰爭109修改器 瀏覽:521
看著很解壓的景色 瀏覽:896
sqlite在Android中應用 瀏覽:77
pdf虛擬列印機ofmac 瀏覽:354
九江php招聘 瀏覽:376
怎麼在ubuntu編程 瀏覽:256
思科保存的命令是什麼意思 瀏覽:958
主力控制副圖源碼及套利選股公式 瀏覽:813
兄弟php培訓怎麼樣 瀏覽:678
金炯泰編譯器 瀏覽:860
涼山參加青少年編程培訓班報名 瀏覽:598
程序員開發者模式 瀏覽:199
電腦有圖標的文件夾是什麼 瀏覽:350
app停運了怎麼恢復 瀏覽:188
u盤加密密碼怎麼刪除 瀏覽:90