1.ps
ps命令是最基本同時(shí)也是非常強(qiáng)大的進(jìn)程查看命令春贸。使用該命令可以確定有哪些進(jìn)程正在運(yùn)行和它所運(yùn)行的狀態(tài)居触、進(jìn)程是否結(jié)束、進(jìn)程有沒有僵死痹屹、哪些進(jìn)程占用了過(guò)多的資源等章郁。總之大部分信息都是可以通過(guò)執(zhí)行該命令得到的志衍。ps命令最常用來(lái)監(jiān)控后臺(tái)進(jìn)程的工作情況暖庄,因?yàn)楹笈_(tái)進(jìn)程是不和屏幕、鍵盤這些標(biāo)準(zhǔn)輸入/輸出設(shè)備進(jìn)行通信的楼肪,所以如果需要檢測(cè)后臺(tái)情況培廓,就需要使用ps命令了。它的格式如下所示:
格式:ps[選項(xiàng)]
其主要選項(xiàng)如下春叫。
-a:顯示系統(tǒng)中所有進(jìn)程的信息医舆。
-e:顯示所有進(jìn)程的信息。
-f:顯示進(jìn)程的所有信息象缀。
-l:以長(zhǎng)格式顯示進(jìn)程信息蔬将。
-r:只顯示正在運(yùn)行的進(jìn)程。
-u:顯示面向用戶的格式(包括用戶名央星、CPU及內(nèi)存的使用情況等信息)霞怀。
-x:顯示所有非控制終端上的進(jìn)程信息。
-p:顯示由進(jìn)程ID指定的進(jìn)程信息莉给。
-t:顯示指定終端上的進(jìn)程信息毙石。
要對(duì)進(jìn)程進(jìn)行監(jiān)測(cè)和控制廉沮,首先要了解當(dāng)前進(jìn)程的情況,當(dāng)然也就需要查看當(dāng)前進(jìn)程的狀態(tài)了徐矩。通過(guò)ps命令查看進(jìn)程滞时,根據(jù)所顯示的信息可以了解哪個(gè)進(jìn)程正在運(yùn)行、哪個(gè)進(jìn)程被掛起了滤灯、進(jìn)程已運(yùn)行了多久坪稽、進(jìn)程正在使用的資源、進(jìn)程的相對(duì)優(yōu)先級(jí)鳞骤,以及進(jìn)程的標(biāo)志號(hào)(PID)窒百。所有這些信息對(duì)用戶都很有用,對(duì)于系統(tǒng)管理員來(lái)說(shuō)尤為重要豫尽。使用ps-aux命令可以獲得終端上所有用戶的有關(guān)進(jìn)程的所有信息篙梢,這個(gè)也是我們平時(shí)用得最多的命令之一,如下所示:
USER:表示啟動(dòng)進(jìn)程的用戶美旧。
PID:表示進(jìn)程標(biāo)志號(hào)渤滞。
%CPU:表示運(yùn)行該進(jìn)程占用CPU的時(shí)間與該進(jìn)程總的運(yùn)行時(shí)間之比。
%MEM:表示該進(jìn)程占用內(nèi)存與總內(nèi)存之比榴嗅。
VSZ:表示占用的虛擬內(nèi)存大小蔼水,以KB為單位。
RSS:為進(jìn)程占用的物理內(nèi)存值录肯,以KB為單位趴腋。
TTY:表示該進(jìn)程建立時(shí)所對(duì)應(yīng)的終端,“?”表示該進(jìn)程不占用終端论咏。
STAT:表示進(jìn)程的運(yùn)行狀態(tài)优炬。包括以下幾種代碼:D,不可中斷的睡眠厅贪;R蠢护,就緒(在可運(yùn)行隊(duì)列中);S养涮,睡眠葵硕;T,被跟蹤或停止贯吓;Z懈凹,終止(僵死)的進(jìn)程,這些進(jìn)程不存在悄谐,但暫時(shí)無(wú)法消除介评;W,沒有足夠的內(nèi)存分頁(yè)可分配;<们陆,高優(yōu)先級(jí)的進(jìn)程寒瓦;N,低優(yōu)先級(jí)的進(jìn)程坪仇;L杂腰,有內(nèi)存分頁(yè)分配并鎖在內(nèi)存體內(nèi)(實(shí)時(shí)系統(tǒng)或I/O)。
START:為進(jìn)程開始時(shí)間椅文。
TIME:為執(zhí)行的時(shí)間喂很。
COMMAND:是對(duì)應(yīng)的命令名。
由于ps執(zhí)行后結(jié)果太多了雾袱,所以我們一般會(huì)帶上grep參數(shù)來(lái)精確定位我們需要的進(jìn)程號(hào)恤筛。例如官还,我們要查看Nginx占用的進(jìn)程芹橡,可以用命令ps-axu|grep nginx,如下所示: