shell中的PS命令的含義

2021-09-24 12:05:16 字數 2931 閱讀 6642

1.ps檢視程序的命令。

2.ps命令中的%cpu是指乙個程序占用cpu的時間百分比。

ps的man手冊的解釋是這樣的

ps的**中是這樣處理的

其中seconds_since_boot是用當前時間減去系統啟動時的時間得到的,啟動的時間通過讀/proc/stat中的btime獲得。而start_time是程序被fork時設定的。另外程序的時間包括在使用者態執行的時間和核心態執行的時間。這樣,這個百分比的含義就是從程序被建立到執行ps操作這段時間t內,這個程序執行的時間和t的比值。 

如果在ps中指定了include_dead_children選項,那麼這個程序的時間還包括它的它建立的但已經死去的程序的執行時間,cutime和cstime會在父程序為子程序收屍的時候呼叫wait_task_zombie來累加。比如在bash中執行updatedb,在執行完成後,執行 

ps -eo pcpu,comm,stat,pid|grep bash

和 ps s -eo pcpu,comm,stat,pid|grep bash

後者的百分比更在。

使用linux作業系統,難免遇到一些軟體"卡殼"的問題,這時就需要使用linux下強大的

kill命令

來結束相關程序。這在linux系統下是極其容易的事情,你只需要kill ***即可,這裡***代表與此軟體執行相關的程序pid號。

首先,我們需要使用linux下另外乙個

ps命令

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

shell中的ps命令詳解

linux中的ps命令是process status的縮寫。ps命令用來列出系統中當前執行的那些程序。ps命令列出的是當前那些程序的快照,就是執行ps命令的那個時刻的那些程序,如果想要動態的顯示程序資訊,就可以使用top命令。要對程序進行監測和控制,首先必須要了解當前程序的情況,也就是需要檢視當前程...

ps和kill命令的引數及含義

1 ps a 顯示現行終端機下的所有程式,包括其他使用者的程式。2 ps a 顯示所有程式。3 ps c 列出程式時,顯示每個程式真正的指令名稱,而不包含路徑,引數或常駐服務的標示。4 ps e 此引數的效果和指定 a 引數相同。5 ps e 列出程式時,顯示每個程式所使用的環境變數。6 ps f ...

Shell中的 0 1 2的含義

在shell中我們會見到 0 1 2這樣的符號,這是什麼意思呢?簡單來說 0就是你寫的shell指令碼本身的名字,1是你給你寫的shell指令碼傳的第乙個引數,2是你給你寫的shell指令碼傳的第二個引數 比如你新建了乙個shell指令碼 test.sh,內容如下 bin sh echo shell...