Linux中殺掉一個(gè)進(jìn)程可以用kill和killall命令,killall命令用命令名字來(lái)殺死指定進(jìn)程,而kill命令則是用進(jìn)程PID來(lái)殺死進(jìn)程。
成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),潁州企業(yè)網(wǎng)站建設(shè),潁州品牌網(wǎng)站建設(shè),網(wǎng)站定制,潁州網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,潁州網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
killall命令,顧名思義就是殺死所有以某個(gè)命令啟動(dòng)的所有進(jìn)程,用killall命令殺死進(jìn)程的命令是這樣的(這里是殺死以httpd命令啟動(dòng)的所有進(jìn)程):
killall -9 httpd
-9參數(shù)表示強(qiáng)制終止進(jìn)程。
最常用的是用kill命令結(jié)束進(jìn)程,但是kill命令需要用進(jìn)程的PID作為參數(shù)。如何知道指定進(jìn)程的PID呢?如果是通過進(jìn)程命令名字查看對(duì)應(yīng)PID,可以通過ps或pstree命令看到它的PID;如果是通過網(wǎng)絡(luò)監(jiān)聽端口號(hào)查看進(jìn)程,需要用netstat命令看看端口號(hào)對(duì)應(yīng)的進(jìn)程的PID。
ps命令用于查看系統(tǒng)所有進(jìn)程,而pstree命令以樹狀顯示進(jìn)程之間的關(guān)系,有助于判斷要?dú)⑺滥膫€(gè)進(jìn)程。記住在它們顯示的結(jié)果中記下需要結(jié)束的進(jìn)程PID。ps命令的常用用法是:
ps aux
-a參數(shù)表示不與終端有關(guān)的進(jìn)程也顯示出來(lái)。
pstree命令的常見用法是:
pstree -Aup
-p參數(shù)表示列出進(jìn)程PID。
netstat命令可以查看監(jiān)聽端口的進(jìn)程是哪個(gè),常用的方式是:netstat -tlnp
這條命令的意思是列出系統(tǒng)里面監(jiān)聽網(wǎng)絡(luò)連接的端口號(hào)和相應(yīng)的進(jìn)程PID。
參數(shù)說明:
-t:表示列出TCP連接(也可以加上-u參數(shù)表示同時(shí)列出UDP網(wǎng)絡(luò)連接)
-l:表示列出正在網(wǎng)絡(luò)監(jiān)聽的服務(wù)
關(guān)鍵是下面兩個(gè)參數(shù):
-n:表示以端口號(hào)來(lái)顯示
-p:表示列出進(jìn)程PID
Local Address這一列下面就有端口號(hào),可以看到它對(duì)應(yīng)的PID是多少,還有Program name那一列是進(jìn)程名字。同樣是要記下需要結(jié)束的進(jìn)程的PID。
知道了指定進(jìn)程的PID后,就可以用kill命令結(jié)束進(jìn)程了:
kill -9 PID號(hào)碼
或者kill -2 PID號(hào)碼
-9參數(shù)是強(qiáng)制結(jié)束進(jìn)程,而-2參數(shù)是相當(dāng)于用鍵盤組合鍵Ctrl+C的方式正常結(jié)束進(jìn)程。
Linux 系統(tǒng)中,進(jìn)程就是一個(gè)程序的運(yùn)行實(shí)例。它可能運(yùn)行在前端(比如有交互的進(jìn)程),也可能運(yùn)行在后端(比如無(wú)交互或自動(dòng)運(yùn)行的進(jìn)程)。它可能是一個(gè)父進(jìn)程(運(yùn)行期間創(chuàng)建了其他進(jìn)程),也可能是一個(gè)子進(jìn)程(由其他進(jìn)程所創(chuàng)建)。
在 Linux 系統(tǒng)中,除 PID 為 0 的第一個(gè) init 進(jìn)程(或 systemd )外,其余進(jìn)程都有父進(jìn)程。進(jìn)程也可以擁有自己的子進(jìn)程。
你可以通過使用 pstree 命令 來(lái)查看進(jìn)程的樹型結(jié)構(gòu),你可以清晰的看到各個(gè)進(jìn)程的“家族樹”。
在 Linux 系統(tǒng)中,正常情況下,子進(jìn)程死亡后其父進(jìn)程會(huì)接收到通知進(jìn)行一些例如釋放內(nèi)存之類的清理操作。但是,如果父進(jìn)程未收到通知察覺子進(jìn)程死亡,那么子進(jìn)程就進(jìn)入了“僵死”狀態(tài)。
這就是僵死進(jìn)程產(chǎn)生的原因。
僵尸進(jìn)程并不可怕,少量的僵尸進(jìn)程對(duì)系統(tǒng)影響并不大。但如果系統(tǒng)的內(nèi)存已經(jīng)所剩不多或者有太多的僵尸進(jìn)程在耗掉內(nèi)存,問題會(huì)變得糟糕。
同樣,大部分 Linux 系統(tǒng)進(jìn)程最大 PID 設(shè)置為 32768,如果過多僵尸進(jìn)程導(dǎo)致其他重要任務(wù)沒有 PID 可用,那么你的系統(tǒng)會(huì)發(fā)生崩潰。
特別當(dāng)存在一個(gè)編碼糟糕的程序開始大量產(chǎn)生僵尸進(jìn)程的時(shí)候,這種情況經(jīng)常發(fā)生。在這種情況下,我們就需要找到并殺死僵尸進(jìn)程。
在linux系統(tǒng)中,進(jìn)程有如下幾種狀態(tài),它們隨時(shí)可能處于以上狀態(tài)中的一種:
我們可以在命令終端中通過 top命令 來(lái)查看系統(tǒng)進(jìn)程和它的當(dāng)前狀態(tài)。
命令如下:
如上面截圖中看到的,其中共有 250 個(gè)任務(wù)(進(jìn)程),其中 1 個(gè)處在 “運(yùn)行中running” 狀態(tài),248 個(gè)進(jìn)程處于 “休眠sleep” 狀態(tài),還有一個(gè)處于 “僵尸zombie” 狀態(tài)。
現(xiàn)在問題進(jìn)入下一步,如何殺死 “僵尸” 進(jìn)程?
僵尸進(jìn)程對(duì)系統(tǒng)來(lái)說就是已經(jīng)死亡的進(jìn)程,那么如何殺掉一個(gè)已經(jīng)死亡的進(jìn)程呢?
方法很簡(jiǎn)單,我們只需要通過如下ps命令就可以列舉僵尸進(jìn)程,得到它們的進(jìn)程 ID。
ps ux 命令輸出的第 8 列顯示了進(jìn)程狀態(tài)。上述命令將會(huì)打印所有處在 Z+ 狀態(tài)(表示僵尸狀態(tài))的進(jìn)程。
確認(rèn)了進(jìn)程 ID 后,我們可以得到它的父進(jìn)程 ID:
你也可以將上述兩個(gè)命令結(jié)合在一起,直接得到僵尸進(jìn)程的 PID 及其父進(jìn)程的 PID:
通過以上命令都可以找到僵尸進(jìn)程,然后你就可以通過 kill命 令殺掉了。
或者通過如下命令查看僵尸進(jìn)程:
該命令輸出結(jié)果上你可以直接看出其父進(jìn)程ID,這時(shí)候你直接使用kill命令殺掉即可。
再次運(yùn)行 ps 命令或 top 命令,你可以驗(yàn)證僵尸進(jìn)程是否已經(jīng)被殺死。
通過本文你將認(rèn)識(shí) Linux 系統(tǒng)中的僵尸進(jìn)程以及明白了其產(chǎn)生的主要原因。同時(shí),你也能學(xué)會(huì)如何查找僵尸僵尸進(jìn)程并殺掉僵尸進(jìn)程。
當(dāng)然你也可以自己別寫腳本設(shè)置成定時(shí)運(yùn)行任務(wù)自動(dòng)來(lái)替你做這些工作。
Linux最常用kill命令來(lái)結(jié)束進(jìn)程,但是kill命令需要用進(jìn)程的PID作為參數(shù)。如何知道指定進(jìn)程的PID呢?如果是通過進(jìn)程命令的名字來(lái)查看對(duì)應(yīng)PID,可以通過ps命令或pstree命令看到它的PID;如果是通過網(wǎng)絡(luò)監(jiān)聽端口號(hào)查看進(jìn)程,需要用netstat命令看看端口號(hào)對(duì)應(yīng)的進(jìn)程的PID。
ps命令用于查看系統(tǒng)所有進(jìn)程,而pstree命令以樹狀顯示進(jìn)程之間的關(guān)系,有助于判斷要?dú)⑺滥膫€(gè)進(jìn)程。記住在它們顯示的結(jié)果中記下需要結(jié)束的進(jìn)程PID。ps命令的常用用法是:
ps aux
-a參數(shù)表示不與終端有關(guān)的進(jìn)程也顯示出來(lái)。
pstree命令的常見用法是:
pstree -Aup
-p參數(shù)表示列出進(jìn)程PID。
netstat命令可以查看監(jiān)聽端口的進(jìn)程是哪個(gè),常用的方式是:netstat -tlnp
這條命令的意思是列出系統(tǒng)里面監(jiān)聽網(wǎng)絡(luò)連接的端口號(hào)和相應(yīng)的進(jìn)程PID。
參數(shù)說明:
-t:表示列出TCP連接(也可以加上-u參數(shù)表示同時(shí)列出UDP網(wǎng)絡(luò)連接)
-l:表示列出正在網(wǎng)絡(luò)監(jiān)聽的服務(wù)
關(guān)鍵是下面兩個(gè)參數(shù):
-n:表示以端口號(hào)來(lái)顯示
-p:表示列出進(jìn)程PID
Local Address這一列下面就有端口號(hào),可以看到它對(duì)應(yīng)的PID是多少,還有Program name那一列是進(jìn)程名字。同樣是要記下需要結(jié)束的進(jìn)程的PID。
知道了指定進(jìn)程的PID后,就可以用kill命令結(jié)束進(jìn)程了:
kill -9 PID號(hào)碼
或者kill -2 PID號(hào)碼
-9參數(shù)是強(qiáng)制結(jié)束進(jìn)程,而-2參數(shù)是相當(dāng)于用鍵盤組合鍵Ctrl+C的方式正常結(jié)束進(jìn)程。
方法一: Terminal終端輸入: gnome-system-monitor,就可以打開system monitor
如圖:
然后找到相應(yīng)進(jìn)程,右擊選擇kill process就可以了
方法二: 通過kill 進(jìn)程id的方式可以實(shí)現(xiàn),
首先需要知道進(jìn)程id, 例如,想要?dú)⑺纅irefox的進(jìn)程,通過 ps -ef|grep firefox,可以查到firefox的進(jìn)程id:
然后通過 kill 3781 就可以關(guān)閉進(jìn)程了.
補(bǔ)充: 1. kill -9 來(lái)強(qiáng)制終止退出, 例如: kill -9 3781
2.特殊用法:
kill -STOP [pid]
發(fā)送SIGSTOP (17,19,23)停止一個(gè)進(jìn)程,而并不消滅這個(gè)進(jìn)程。
kill -CONT [pid]
發(fā)送SIGCONT (19,18,25)重新開始一個(gè)停止的進(jìn)程。
kill -KILL [pid]
發(fā)送SIGKILL (9)強(qiáng)迫進(jìn)程立即停止,并且不實(shí)施清理操作。
kill -9 -1
終止你擁有的全部進(jìn)程。
方法三: killall 通過程序的名字,來(lái)殺死進(jìn)程
例如: killall firefox
注意: 該命令可以使用 -9 參數(shù)來(lái)強(qiáng)制殺死進(jìn)程, killall -9 firefox
方法四: pkill 通過程序的名字, 直接殺死所有進(jìn)程
例如: pkill firefox
方法五: 通過xkill 可以殺死圖形程序應(yīng)用, 例如firefox崩潰無(wú)響應(yīng),可以使用該命令.
例如: 用法xkill , 會(huì)出現(xiàn)一個(gè)白色的x, 然后用鼠標(biāo)單擊想要?dú)⑺赖膽?yīng)用,如圖
以下內(nèi)容引用自:
◆編者注:
KILLALL(Section: User (1)/Updated: 1999年9月7日)
———————————————–
NAME (名稱)
killall – 以名字方式來(lái)殺死進(jìn)程
SYNOPSIS (總覽)
killall [-egiqvw] [-signal] name …
killall -l
killall -V
DESCRIPTION (描述)
killall 發(fā)送一條信號(hào)給所有運(yùn)行任意指定命令的進(jìn)程. 如果沒有指定信號(hào)名, 則發(fā)送SIGTERM.。
信號(hào)可以以名字 (如 -HUP ) 或者數(shù)字 (如 -1 ) 的方式指定. 信號(hào) 0 (檢查進(jìn)程是否存在)只能以數(shù)字方式指定。
如果命令名包括斜杠 (/), 那么執(zhí)行該特定文件的進(jìn)程將被殺掉, 這與進(jìn)程名無(wú)關(guān)。
如果對(duì)于所列命令無(wú)進(jìn)程可殺, 那么 killall 會(huì)返回非零值. 如果對(duì)于每條命令至少殺死了一個(gè)進(jìn)程, killall 返回 0。Killall 進(jìn)程決不會(huì)殺死自己 (但是可以殺死其它 killall 進(jìn)程)。
OPTIONS (選項(xiàng))
-e
對(duì) 于很長(zhǎng)的名字, 要求準(zhǔn)確匹配. 如果一個(gè)命令名長(zhǎng)于 15 個(gè)字符, 則可能不能用整個(gè)名字 (溢出了). 在這種情況下, killall 會(huì)殺死所有匹配名字前 15 個(gè)字符的所有進(jìn)程. 有了 -e 選項(xiàng),這樣的記錄將忽略. 如果同時(shí)指定了 -v 選項(xiàng), killall 會(huì)針對(duì)每個(gè)忽略的記錄打印一條消息。
-g
殺死屬于該進(jìn)程組的進(jìn)程. kill 信號(hào)給每個(gè)組只發(fā)送一次, 即使同一進(jìn)程組中包含多個(gè)進(jìn)程。
-i
交互方式,在殺死進(jìn)程之前征求確認(rèn)信息。
-l
列出所有已知的信號(hào)名。
-q
如果沒有進(jìn)程殺死, 不會(huì)提出抱怨。
-v
報(bào)告信號(hào)是否成功發(fā)送。
-V
顯示版本信息。
-w
等待所有殺的進(jìn)程死去. killall 會(huì)每秒檢查一次是否任何被殺的進(jìn)程仍然存在, 僅當(dāng)都死光后才返回. 注意: 如果信號(hào)被忽略或沒有起作用, 或者進(jìn)程停留在僵尸狀態(tài), killall 可能會(huì)永久等待。
FILES(相關(guān)文件)
/proc proc文件系統(tǒng)的存在位置。
KNOWN bugS (已知 BUGS)
以文件方式殺死只對(duì)那些在執(zhí)行時(shí)一直打開的可執(zhí)行文件起作用, 也即, 混雜的可執(zhí)行文件不能夠通過這種方式殺死。
要警告的是輸入 killall name 可能不會(huì)在非 Linux 系統(tǒng)上產(chǎn)生預(yù)期的效果, 特別是特權(quán)用戶執(zhí)行時(shí)要小心。
在兩次掃描的間隙, 如果進(jìn)程消失了而被代之以一個(gè)有同樣 PID 的新進(jìn)程, killall -w 偵測(cè)不到。
來(lái)源:
下面來(lái)了解相關(guān)命令:
一、查看進(jìn)程的命令 有ps、pstree、pgrep等:
1、ps
顯示進(jìn)程信息,參數(shù)可省略
-aux 以BSD風(fēng)格顯示進(jìn)程 常用
-efH 以System V風(fēng)格顯示進(jìn)程
-e , -A 顯示所有進(jìn)程
a 顯示終端上所有用戶的進(jìn)程
x 顯示無(wú)終端進(jìn)程
u 顯示詳細(xì)信息
f 樹狀顯示
w 完整顯示信息
l 顯示長(zhǎng)列表
在終端中執(zhí)行ps aux,
各列輸出字段的含義:
USER 進(jìn)程所有者
PID 進(jìn)程ID
PPID 父進(jìn)程
%CPU CPU占用率
%MEM 內(nèi)存占用率
NI 進(jìn)程優(yōu)先級(jí)。數(shù)值越大,占用CPU時(shí)間越少
VSZ 進(jìn)程虛擬大小
RSS 頁(yè)面文件占用
TTY 終端ID
STAT 進(jìn)程狀態(tài)
+---D 不可中斷 Uninterruptible sleep (usually IO)
+---R 正在運(yùn)行,或在隊(duì)列中的進(jìn)程
+---S 處于休眠狀態(tài)
+---T 停止或被追蹤
+---Z 僵尸進(jìn)程
+---W 進(jìn)入內(nèi)存交換(從內(nèi)核2.6開始無(wú)效)
+---X 死掉的進(jìn)程
+--- 高優(yōu)先級(jí)
+---N 低優(yōu)先級(jí)
+---L 有些頁(yè)被鎖進(jìn)內(nèi)存
+---s 包含子進(jìn)程
+---+ 位于后臺(tái)的進(jìn)程組;
+---l 多線程,克隆線程 multi-threaded (using CLONE_THREAD, like NPTL pthreads do)
PID:進(jìn)程標(biāo)識(shí)符,系統(tǒng)為每一個(gè)進(jìn)程分配一個(gè)識(shí)別碼,稱為PID。
ps命令極為常用,其他命令還有:
2.pstree
樹狀顯示進(jìn)程信息
-a 顯示完整命令及參數(shù)
-c 重復(fù)進(jìn)程分別顯示
-c 顯示進(jìn)程ID PID
-n 按 PID 排列進(jìn)程
3.pgrep 進(jìn)程名
顯示進(jìn)程的PID
-l 顯示進(jìn)程名和進(jìn)程PID
-o 進(jìn)程起始ID
-n 進(jìn)程終止ID
二、結(jié)束進(jìn)程的命令 有kill、pkill、killall、xkill等:
kill [信號(hào)代碼] 進(jìn)程PID
根據(jù)PID向進(jìn)程發(fā)送信號(hào),常用來(lái)結(jié)束進(jìn)程,默認(rèn)信號(hào)為 -9
信號(hào)代碼,可取值如下:
-l [信號(hào)數(shù)字] 顯示、翻譯信號(hào)代碼
-9 , -KILL 發(fā)送 kill 信號(hào)退出
-6 , -ABRT 發(fā)送 abort 信號(hào)退出
-15 , -TERM 發(fā)送 Termination 信號(hào)
-1 , -HUP 掛起
-2 , -INT 從鍵盤中斷,相當(dāng)于 Ctrl+c
-3 , -QUIT 從鍵盤退出,相當(dāng)于 Ctrl+d
-4 , -ILL 非法指令
-11 , -SEGV 內(nèi)存錯(cuò)誤
-13 , -PIPE 破壞管道
-14 , -ALRM
-STOP 停止進(jìn)程,但不結(jié)束
-CONT 繼續(xù)運(yùn)行已停止的進(jìn)程
-9 -1 結(jié)束當(dāng)前用戶的所有進(jìn)程
pkill 進(jìn)程名
結(jié)束進(jìn)程族。如果結(jié)束單個(gè)進(jìn)程,請(qǐng)用 kill
killall 進(jìn)程名
killall和pkill 應(yīng)用方法差不多,也是直接殺死運(yùn)行中的程序;如果您想殺掉單個(gè)進(jìn)程,請(qǐng)用kill 來(lái)殺掉。
xkill
在圖形界面中點(diǎn)殺進(jìn)程。
當(dāng)xkill運(yùn)行時(shí)鼠標(biāo)指針變?yōu)轺俭t圖案,哪個(gè)圖形程序崩潰一點(diǎn)就OK了。如果您想終止xkill ,就按右鍵取消。
比如當(dāng)firefox 出現(xiàn)崩潰不能退出時(shí),點(diǎn)鼠標(biāo)就能殺死firefox 。
xkill 調(diào)用方法:
[root@localhost ~]# xkill
來(lái)源:
linux中pkill的簡(jiǎn)單用法
pkill 和killall 應(yīng)用方法差不多,也是直接殺死運(yùn)行中的程序;如果您想殺掉單個(gè)進(jìn)程,請(qǐng)用kill 來(lái)殺掉。
必要參數(shù)
-f 顯示完整程序
-l 顯示源代碼
-n 顯示新程序
-o 顯示舊程序
-v 與條件不符合的程序
-x 與條件符合的程序
選擇參數(shù)
-p進(jìn)程號(hào) 列出父進(jìn)程為用戶指定進(jìn)程的進(jìn)程信息
-t終端 指定終端下的所有程序
-u用戶 指定用戶的程序
應(yīng)用方法:
#pkill 正在運(yùn)行的程序名
舉例:
Java代碼
[root@localhost beinan]# pgrep -l gaim
2979 gaim
[root@localhost beinan]# pkill gaim
也就是說:
kill 對(duì)應(yīng)的是 PID
pkill 對(duì)應(yīng)的是COMMAND
例如在Ubuntu中強(qiáng)制結(jié)束一個(gè)已成僵尸的名稱為:firefox,PID為:1603的進(jìn)程,可以如下操作:
方法一:
(1)ctrl+alt+t,調(diào)出終端,輸入 top,然后就可以看到現(xiàn)在系統(tǒng)的進(jìn)程,是按占用資源從多到少排列的。
找到要關(guān)掉的進(jìn)程,記下該進(jìn)程第一列的數(shù)字編號(hào)(假設(shè)是xx),然后輸入q,退回終端。
(2)輸入:sudo kill xx(對(duì)應(yīng)剛才的編號(hào))。
方法二:
ctrl+alt+t,調(diào)出終端,輸入:sudo pkill firefox
范例1: 殺死指定進(jìn)程
Java代碼
root@snail-hnlinux:~# ps -A //顯示所有進(jìn)程
PID TTY TIME CMD
1 ? 00:00:03 init
2 ? 00:00:00 kthreadd
3 ? 00:00:00 migration/0
4 ? 00:00:00 ksoftirqd/0
5 ? 00:00:00 watchdog/0
……忽略部分
28382 ? 00:00:00 gvfsd-http
28391 ? 00:07:07 software-center
30467 ? 00:00:31 designer-qt4
30487 ? 00:00:06 gnome-terminal
30488 ? 00:00:00 gnome-pty-helpe
30489 pts/0 00:00:00 bash
30670 ? 00:00:00 debconf-communi
30749 pts/0 00:00:17 gedit
31155 ? 00:00:00 dhclient
31325 ? 00:00:01 sshd
31327 ? 00:00:00 sshd
31400 pts/1 00:00:00 bash
31485 pts/2 00:00:00 bash
31653 ? 00:00:00 aptd
31658 pts/1 00:00:00 ps
root@snail-hnlinux:~# pidof sshd //查看與sshd相關(guān)進(jìn)程
31327 31325 2095
root@snail-hnlinux:~# pkill -9 sshd //殺死指定進(jìn)程
范例2:殺死同義終端下的進(jìn)程
Java代碼
root@snail-hnlinux:~# pkill -t tty1 //殺死終端1下的所有進(jìn)程
范例3: 殺死指定用戶進(jìn)程
Java代碼
root@snail-hnlinux:~# pkill -u hnlinux
范例4:反向選擇
Java代碼
root@snail-hnlinux:~# pkill -vu hnlinux //殺死不屬于hnlinux用戶的所有進(jìn)程
————————————————
版權(quán)聲明:本文為CSDN博主「MrCoderr」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:
1、首先,連接相應(yīng)linux主機(jī),進(jìn)入到linux命令行狀態(tài)下,等待輸入shell指令。
2、其次,以終止進(jìn)程號(hào)1984的nginx子進(jìn)程為例,在linux命令行中輸入:kill -9 1984。
3、最后,按下回車鍵執(zhí)行shell指令,此時(shí)會(huì)看到進(jìn)程號(hào)1984的nginx子進(jìn)程被成功終止了。
kill -9 PID —— 強(qiáng)制殺死一個(gè)進(jìn)程。
1、kill -9 殺死后臺(tái)運(yùn)行的進(jìn)程。
紅色下劃線:sleep 10000 —— 后臺(tái)運(yùn)行延時(shí) 10000 秒的命令,進(jìn)程 ID 為1317。
黃色下劃線:ps —— 列出 1317 sleep 命令的進(jìn)程。
(PID:進(jìn)程 ID、PGID:線程組 ID、SID:會(huì)話 ID、TTY:進(jìn)程運(yùn)行的終端,標(biāo)識(shí)那個(gè)終端控制。(pts遠(yuǎn)程終端、tty系統(tǒng)終端)、TIME:進(jìn)程運(yùn)行的時(shí)間 和 CMD:命令的名稱和參數(shù))。
jobs -l —— 列出后臺(tái)運(yùn)行的命令,1317 sleep 命令正在后臺(tái)運(yùn)行。
藍(lán)色下劃線:kill -9 1317—— 殺死?1317 進(jìn)程。
綠色方框:ps 查詢進(jìn)程,1317 sleep進(jìn)程已經(jīng)被殺死(Killed)。jobs -l 已經(jīng)沒有后臺(tái)運(yùn)行的1317 sleep 命令。
2、kill -9 終止掛起的進(jìn)程。
紅色下劃線:執(zhí)行 sleep 10000 后 ctrl + z 掛起。
黃色下劃線:ps -j 查看進(jìn)程,有 1342 sleep 的進(jìn)程。jobs -l 查看后臺(tái),1342 sleep 的狀態(tài)是 stopped 暫停狀態(tài)。
藍(lán)色下劃線:kill -9 殺死 1342 進(jìn)程。此時(shí)系統(tǒng)沒有反饋信息。
綠色下劃線:ps -j 查看進(jìn)程,1342 sleep 已經(jīng)被殺死(Killed)。jobs -l 查看后臺(tái),已經(jīng)沒有了? 1342?sleep。
從實(shí)驗(yàn)上看:
1、后臺(tái)命令運(yùn)行時(shí)(Running),執(zhí)行 kill -9 可以強(qiáng)殺進(jìn)程。
2、掛起命令,處于暫停狀態(tài)時(shí)(Stopped),執(zhí)行 kill -9 后通過 ps 查詢進(jìn)程, 可以看到進(jìn)程已經(jīng)被殺死。jobs 也查不到有后臺(tái)命令。(這里和 kill -2、kill -15 不一樣。kill -2、kill -15 在掛起命令,處于暫停狀態(tài)時(shí)(Stopped)時(shí)執(zhí)行,通過 ps 還可以查詢到進(jìn)程,jobs 也可以查詢到后臺(tái)仍有處于暫停狀態(tài)的命令。)
本文名稱:殺進(jìn)程命令linux 殺進(jìn)程命令kill
URL鏈接:http://muchs.cn/article44/docsdhe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)站建設(shè)、動(dòng)態(tài)網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)