Linux?ps命令詳解及Linux查看進(jìn)程的操作方法
作用:查看系統(tǒng)進(jìn)程,比如正在運(yùn)行的進(jìn)程有哪些,什么時(shí)候開(kāi)始運(yùn)行的,哪個(gè)用戶運(yùn)行的,占用了多少資源。
參數(shù):
- -e 顯示所有進(jìn)程
- -f 顯示所有字段(UID,PPIP,C,STIME字段)
- -a 顯示一個(gè)終端的所有進(jìn)程
- -u 顯示當(dāng)前用戶進(jìn)程和內(nèi)存使用情況
- -x 顯示沒(méi)有控制終端的進(jìn)程
- –sort 按照列名排序
一、常用操作
ps命令常用的方式有三種:
ps -ef:查看所有進(jìn)程ps -aux:查看所有進(jìn)程ps -ef | grep tomcat:查看指定進(jìn)程
1、查看所有進(jìn)程(連帶命令行)
ps -ef

字段解釋?zhuān)?/p>
- UID:用戶ID,即進(jìn)程的擁有者
- PID:進(jìn)程ID
- PPID:父進(jìn)程ID
- C:進(jìn)程占用的CPU百分比
- STIME:進(jìn)程開(kāi)始啟動(dòng)時(shí)間
- TTY:登入者的終端機(jī)位置
- TIME:進(jìn)程使用的CPU(運(yùn)算)時(shí)間
- CMD:調(diào)用進(jìn)程的命令
2、顯示所有包含其他使用者的進(jìn)程
ps -aux

字段解釋?zhuān)?/p>
- USER:創(chuàng)建進(jìn)程的用戶
- PID:進(jìn)程ID
- %CPU:進(jìn)程占用CPU的百分比
- %MEM:進(jìn)程占用物理內(nèi)存的百分比
- VSZ:進(jìn)程占用虛擬內(nèi)存的大?。▎挝籏B)
- RSS:進(jìn)程占用實(shí)際物理內(nèi)存的大?。▎挝籏B)
- TTY:進(jìn)程在哪個(gè)終端運(yùn)行。
- STAT:進(jìn)程狀態(tài)
- START:進(jìn)程開(kāi)始啟動(dòng)的時(shí)間
- TIME:進(jìn)程使用的CPU(運(yùn)算)時(shí)間
- COMMAND:調(diào)用進(jìn)程的命令
3、查看指定進(jìn)程(grep過(guò)濾)
ps -ef 通常會(huì)配合 grep 來(lái)過(guò)濾指定的進(jìn)程,比如
搜索 mysql 的進(jìn)程:ps -ef | grep mysql

搜索 tomcat 的進(jìn)程:ps -ef | grep tomcat

4、查看CPU/內(nèi)存占用率最高的進(jìn)程
1)查看進(jìn)程的時(shí)候,讓進(jìn)程按照CPU使用率排序,然后展示前10行,就能清晰地看到哪些進(jìn)程占用的資源比較多。
PS1:head -11 是因?yàn)闃?biāo)題也算一行
PS2:+、-號(hào)可以調(diào)整排序,-pcpu 表示降序,+pcpu 表示升序
ps -aux --sort=-pcpu | head -11

2)同理,把 -pcpu 換成 -pmem,就能查看內(nèi)存使用最多的10個(gè)進(jìn)程。
ps -aux --sort=-pmem | head -11

3)如果不限制行數(shù),也可以使用 sort 按照指定的列排序
降序:
ps -aux | sort -nk 4 -r
升序:
ps -aux | sort -nk 4

5、查看指定用戶的進(jìn)程
查看某個(gè)用戶開(kāi)啟了哪些進(jìn)程,可以使用 -u 參數(shù)指定用戶名,比如,查看root用戶的進(jìn)程有哪些:
ps -u root -ef

6、分頁(yè)查看進(jìn)程
除了 grep 外,還可以配合 more 分頁(yè)查看進(jìn)程:ps -ef | more

翻頁(yè)的操作同 more 命令,q鍵退出,空格鍵翻頁(yè)
二、拓展
1、TTY字段(終端類(lèi)型)
TTY字段表示運(yùn)行進(jìn)程的終端是哪個(gè),這里的終端類(lèi)型有兩種:tty和pts。
- tty:表示物理終端,其中
tty1~6是本地字符界面終端,tty7是本地圖形終端 - pts:表示虛擬終端,通常指遠(yuǎn)程連接的終端,范圍是
pts/0~255,比如第一個(gè)遠(yuǎn)程連接的終端是pts/0,第二個(gè)遠(yuǎn)程連接的終端是pts/1,依次類(lèi)推。
2、STAT字段(進(jìn)程狀態(tài))
STAT字段表示進(jìn)程的狀態(tài),常見(jiàn)的狀態(tài)有以下幾種:
- D:睡眠狀態(tài)(不可被喚醒),常用于I/O情況。
- R:進(jìn)程正在運(yùn)行
- S:睡眠狀態(tài)(可被喚醒)
- T:停止?fàn)顟B(tài)
- W:內(nèi)存交互狀態(tài)
- Z:僵尸進(jìn)程(不存在但暫時(shí)無(wú)法消除)
- <:高優(yōu)先級(jí)
- N:低優(yōu)先級(jí)
- L:被鎖入內(nèi)存
- s:包含子進(jìn)程
- l:多線程
- +:位于后臺(tái)
3、僵尸進(jìn)程
進(jìn)程由于非正常停止或程序編寫(xiě)錯(cuò)誤,導(dǎo)致子進(jìn)程比父進(jìn)程先結(jié)束,而父進(jìn)程又沒(méi)有正?;厥兆舆M(jìn)程,使子進(jìn)程一直在內(nèi)存中,導(dǎo)致資源浪費(fèi)。這種情況就是僵尸進(jìn)程。
PS:正常情況下應(yīng)該是父進(jìn)程先結(jié)束,然后子進(jìn)程由init接管,init 結(jié)束子進(jìn)程并回收對(duì)應(yīng)的資源。
到此這篇關(guān)于Linux ps命令詳解,Linux查看進(jìn)程的文章就介紹到這了,更多相關(guān)Linux ps命令內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Shell expr命令進(jìn)行整數(shù)計(jì)算的實(shí)現(xiàn)
這篇文章主要介紹了Shell expr命令進(jìn)行整數(shù)計(jì)算的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
win下調(diào)用putty執(zhí)行命令腳本分享
這篇文章主要介紹了win下調(diào)用putty執(zhí)行命令腳本,可以利用這個(gè)實(shí)現(xiàn)一些自動(dòng)化的工作,需要的朋友可以參考下2014-03-03
linux重啟和關(guān)閉系統(tǒng)命令的寫(xiě)法
這篇文章給大家介紹了linux重啟和關(guān)閉系統(tǒng)命令的寫(xiě)法,然后在文中給大家分享了linux五個(gè)重啟命令,感興趣的朋友一起看看吧2017-10-10
linux中shell腳本實(shí)現(xiàn)下載完關(guān)機(jī)
本文給大家分享的是個(gè)人在實(shí)際應(yīng)用中制作的一個(gè)小程序,十分的實(shí)用,推薦給大家,有需要的小伙伴可以參考下。2015-03-03
Linux下如何安裝Run文件格式NVIDIA顯卡驅(qū)動(dòng)
本篇文章給大家介紹Linux下如何安裝Run文件格式NVIDIA顯卡驅(qū)動(dòng),主要設(shè)計(jì)到linux下安裝run文件格式nvidia顯卡驅(qū)動(dòng)方面的知識(shí)點(diǎn),對(duì)linux下安裝run文件格式nvidia顯卡驅(qū)動(dòng)感興趣的朋友可以參考下本文2015-10-10

