程序運行在系統上時,我們稱之爲進程(英語:process),我們在使用centos linux操作系統是,需要監測這些進程,我們就要熟悉ps命令的用法,該命令能把很多程序的信息輸出給我們。
我們先來個簡單的,直接在命令行輸入ps:
這只是顯示了當前用戶的進程。
命令格式:
ps [options]
參數:
-A 顯示所有進程
-N 顯示與指定參數不符的所有進程
-a 顯示除控制進程(session leader①)和無終端進程外的所有進程
-d 顯示除控制進程外的所有進程
-e 顯示所有進程
-C cmdlist 顯示包含在cmdlist列表中的進程
-G grplist 顯示組ID在grplist列表中的進程
-U userlist 顯示屬主的用戶ID在userlist列表中的進程
-g grplist 顯示會話或組ID在grplist列表中的進程②
-p pidlist 顯示PID在pidlist列表中的進程
-s sesslist 顯示會話ID在sesslist列表中的進程
-t ttylist 顯示終端ID在ttylist列表中的進程
-u userlist 顯示有效用戶ID在userlist列表中的進程
-F 顯示更多額外輸出(相對-f參數而言)
-O format 顯示默認的輸出列以及format列表指定的特定列
-M 顯示進程的安全信息
-c 顯示進程的額外調度器信息
-f 顯示完整格式的輸出
-j 顯示任務信息
-l 顯示長列表
-o format 僅顯示由format指定的列
-y 不要顯示進程標記(process flag,表明進程狀態的標記)
-Z 顯示安全標籤(security context)①信息
-H 用層級格式來顯示進程(樹狀,用來顯示父進程)
-n namelist 定義了WCHAN列顯示的值
-w 採用寬輸出模式,不限寬度顯示
-L 顯示進程中的線程
-V 顯示ps命令的版本號
是不是非常多,我們只說常用的。
1、 ps -l#可以獲取更多的信息。
UID:啓動這些進程的用戶
PID:進程ID
PPID:父進程的進程號。
C:進程生命週期中的CPU利用率
PRI:進程的優先級
NI:謙讓度值用來參與決定優先級
ADDR:進程的內存地址
SZ:加入進程被換出,所需交換空間的打汁大小
WCHAN:進程休眠的內核函數的地址
TTY:進程啓動時的終端設備。
TIME:運行進程需要的累計CPU時間。
CMD:啓動的程序名稱。
2、 ps -ef以完整格式顯示所有進程
上面是unix風格輸出,還有一種以BSD參數風格輸出,簡單比較如下(不再詳細說明BSD風格):
命令ps -l和ps l