查詢程序ID 並用Kill命令殺死它

2021-06-19 11:25:51 字數 2179 閱讀 3984

使用linux作業系統,難免遇到一些軟體"卡殼"的問題,這時就需要使用linux下強大的kill命令來結束相關程序。這在linux系統下是極其容易的事情,你只需要kill ***即可,這裡***代表與此軟體執行相關的程序pid號。

ps a 顯示現行終端機下的所有程式,包括其他使用者的程式。 

ps -a 顯示所有程式。 

ps c 列出程式時,顯示每個程式真正的指令名稱,而不包含路徑,引數或常駐服務的標示。 

ps -e 此引數的效果和指定"a"引數相同。 

ps e 列出程式時,顯示每個程式所使用的環境變數。 

ps f 用ascii字元顯示樹狀結構,表達程式間的相互關係。 

ps -h 顯示樹狀結構,表示程式間的相互關係。 

ps -n 顯示所有的程式,除了執行ps指令終端機下的程式之外。 

ps s 採用程式訊號的格式顯示程式狀況。 

ps s 列出程式時,包括已中斷的子程式資料。 

ps -t《終端機編號》 指定終端機編號,並列出屬於該終端機的程式的狀況。 

ps u 以使用者為主的格式來顯示程式狀況。 

ps x 顯示所有程式,不以終端機來區分。

最常用的方法是ps aux,然後再通過管道使用grep命令過濾查詢特定的程序,然後再對特定的程序進行操作。

其次,使用kill命令結束程序:kill ***

1)作用

kill命令用來中止乙個程序。

2)格式

kill [ -s signal | -p ] [ -a ] pid ...

kill -l [ signal ]

3)引數

-s:指定傳送的訊號。

-p:模擬傳送訊號。

-l:指定訊號的名稱列表。

pid:要中止程序的id號。

signal:表示訊號。

4)說明

程序是linux系統中乙個非常重要的概念。linux是乙個多工的作業系統,系統上經常同時執行著多個程序。我們不關心這些程序究竟是如何分配的,或者是核心如何管理分配時間片的,所關心的是如何去控制這些程序,讓它們能夠很好地為使用者服務。

linux作業系統包括三種不同型別的程序,每種程序都有自己的特點和屬性。互動程序是由乙個shell啟動的程序。互動程序既可以在前台執行,也可以在後台執行。批處理程序和終端沒有聯絡,是乙個程序序列。監控程序(也稱系統守護程序)是linux系統啟動時啟動的程序,並在後台執行。例如,httpd 是著名的apache伺服器的監控程序。

kill命令的工作原理是,向linux系統的核心傳送乙個系統操作訊號和某個程式的程序標識號,然後系統核心就可以對程序標識號指定的程序進行操作。比如在top命令中,我們看到系統執行許多程序,有時就需要使用kill中止某些程序來提高系統資源。在講解安裝和登陸命令時,曾提到系統多個虛擬控制台的作用是當乙個程式出錯造成系統死鎖時,可以切換到其它虛擬控制台工作關閉這個程式。此時使用的命令就是kill,因為kill是大多數shell內部命令可以直接呼叫的。

5)應用例項

(1)強行中止(經常使用殺掉)乙個程序標識號為324的程序:

#kill -9 324

(2)解除linux系統的死鎖

在 linux中有時會發生這樣一種情況:乙個程式崩潰,並且處於死鎖的狀態。此時一般不用重新啟動計算機,只需要中止(或者說是關閉)這個有問題的程式即可。當kill處於x-window介面時,主要的程式(除了崩潰的程式之外)一般都已經正常啟動了。此時開啟乙個終端,在那裡中止有問題的程式。比如,如果mozilla瀏覽器程式出現了鎖死的情況,可以使用kill命令來中止所有包含有mozolla瀏覽器的程式。首先用ps命令查詢該程式的 pid,然後使用kill命令停止這個程式:

#kill -sigkill ***

其中,***是包含有mozolla瀏覽器的程式的程序標識號。

(3)使用命令**記憶體

我們知道記憶體對於系統是非常重要的,**記憶體可以提高系統資源。kill命令可以及時地中止一些"越軌"的程式或很長時間沒有相應的程式。例如,使用top命令發現乙個無用 (zombie) 的程序,此時可以使用下面命令:

#kill -9 ***

其中,***是無用的程序標識號。

然後使用下面命令:

#free

此時會發現可用記憶體容量增加了。

(4)killall命令

linux下還提供了乙個killall命令,可以直接使用程序的名字而不是程序標識號,例如:

# killall -hup inetd

Linux基礎命令 查詢程序id

pidof pidof 可以查詢指定名稱的程序的pid,將結果送到標準輸出。pidof有兩種返回值 0,找到至少乙個程序 1,沒有找到程序。pidof實際上與killall5相同 程式根據呼叫它的名稱進行操作。此命令的適用範圍 redhat rhel ubuntu centos suse opens...

Linux基礎命令 查詢程序id

pidof pidof可以查詢指定名稱的程序的pid,將結果送到標準輸出。pidof有兩種返回值 0,找到至少乙個程序 1,沒有找到程序。pidof實際上與killall5相同 程式根據呼叫它的名稱進行操作。此命令的適用範圍 redhat rhel ubuntu centos suse opensu...

Linux下ps查詢程序用kill終止命令

最簡潔明瞭的是 ps x sudo kill 程序號 下面是我轉的 首先,我們需要使用linux下另外乙個ps命令查詢與程序相關的pid號 ps aux grep program filter word ps a 顯示現行終端機下的所有程式,包括其他使用者的程式。ps a 顯示所有程式。ps c 列...