這篇文章將為大家詳細(xì)講解有關(guān)linux中ps命令怎么用,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括西山網(wǎng)站建設(shè)、西山網(wǎng)站制作、西山網(wǎng)頁制作以及西山網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,西山網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到西山省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!小知識(shí)(以ps為例):
查看命令路徑 which ps
命令幫助 ps --help
命令完全手冊(cè): man ps
說明
ps全稱是:Process Status (進(jìn)程狀態(tài)),他就是提供進(jìn)程信息的。
ps命令用于報(bào)告當(dāng)前系統(tǒng)的進(jìn)程狀態(tài)??梢源钆鋕ill指令隨時(shí)中斷、刪除不必要的程序。ps命令是最基本同時(shí)也是非常強(qiáng)大的進(jìn)程查看命令,使用該命令可以確定有哪些進(jìn)程正在運(yùn)行和運(yùn)行的狀態(tài)、進(jìn)程是否結(jié)束、進(jìn)程有沒有僵死、哪些進(jìn)程占用了過多的資源等等,總之大部分信息都是可以通過執(zhí)行該命令得到的。
附知識(shí)說明
我們經(jīng)常見到shell命令有三種類型的參數(shù),最初我還琢磨 單劃線和雙劃線有什么特殊的含義,原來是一個(gè)版本演變留下的問題。
linux系統(tǒng)中常見的3種命令行參數(shù)(以ps為例):
Unix類型的參數(shù),前面有一短劃線 如:ps -e
BSD類型的參數(shù),前面沒有短劃線 如:ps a
GNU長參數(shù),前面有雙劃線 如:ps --deselect
所以,ps –a 和 ps a查詢結(jié)果會(huì)不同
常見實(shí)例
$ps
如圖:
解釋:默認(rèn)情況,ps命令只顯示屬于當(dāng)前用戶并正在當(dāng)前終端中運(yùn)行的進(jìn)程。默認(rèn)ps的話,只運(yùn)行了bash 和 ps
$ps –ef
如圖:
解釋:
UID 擁有進(jìn)程的用戶
PID 進(jìn)程的ID
PPID 父進(jìn)程PID
C 進(jìn)程存續(xù)期的處理利用率
STIME 進(jìn)程啟動(dòng)時(shí)的系統(tǒng)時(shí)間
TTY 進(jìn)程所屬的終端
TIME 運(yùn)行進(jìn)程累計(jì)CPU時(shí)間
CMD 啟動(dòng)進(jìn)程的名稱
幫助文檔
這回我用的是redhat的--help, 得到ps的help被分為五類:
simple selection 簡(jiǎn)易選項(xiàng)
********* simple selection *********
-A all processes 所有線程
-N negate selection 忽略選擇
-a all w/ tty except session leaders 顯示一個(gè)終端的所有進(jìn)程,除了會(huì)話引線
-d all except session leaders 顯示所有進(jìn)程,但省略所有的會(huì)話引線(utility)
-e all processes
T all processes on this terminal
a all w/ tty, including other users
g OBSOLETE -- DO NOT USE
r only running processes
x processes w/o controlling ttys
selection by list 列表選項(xiàng)
********* selection by list *********
-C by command name
-G by real group ID (supports names)
-U by real user ID (supports names)
-g by session OR by effective group name
-p by process ID
-s processes in the sessions given
-t by tty
-u by effective user ID (supports names)
U processes for specified users
t by tty
output format 輸出格式化
*********** output format **********
-o,o user-defined 可以輸入自己的參數(shù)
-f full
-j,j job control
s signal
-O,O preloaded
-o v virtual memory
-l,l long
u user-oriented
-F extra full
X registers
long options 長操作類型
*********** long options ***********
--Group --User --pid --cols --ppid
--group --user --sid --rows --info
--cumulative --format --deselect
--sort --tty --forest --version
--heading --no-heading --context
misc options 其他選項(xiàng)
********* misc options *********
-V,V show version L list format codes f ASCII art forest
-m,m,-L,-T,H threads S children in sum -y change -l format
-M,Z security data c true command name -c scheduling class
-w,w wide output n numeric WCHAN,UID -H process hierarchy
實(shí)例(來自man ps)
1. 查看系統(tǒng)每個(gè)進(jìn)程的標(biāo)準(zhǔn)參數(shù)(To see every process on the system using standard syntax)
代碼如下:
$ps -e
$ps -ef
$ps -eF
$ps –ely
2. 查看系統(tǒng)每個(gè)進(jìn)程的BSD(系統(tǒng)名)參數(shù)(To see every process on the system using BSD syntax)
代碼如下:
$ps ax
$ps axu
3. 打印進(jìn)程樹(To print a process tree)
代碼如下:
$ps -ejH
$ps axjf
4. 打印線程的有關(guān)信息
代碼如下:
$ps -eLf
$ps axms
5. 獲取安全信息
代碼如下:
$ps -eo euser,ruser,suser,fuser,f,comm,label
$ps axZ
$ps –eM
6. 要查看每個(gè)進(jìn)程運(yùn)行在用戶根目錄(真實(shí)的和有效的ID)格式
$ps -U root -u root u
7. 查看用戶自定義的格式(To see every process with a user-defined format)
代碼如下:
$ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
$ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
$ps -eopid,tt,user,fname,tmout,f,wchan
8. 僅僅打印系統(tǒng)日志的進(jìn)程ID(Print only the process IDs of syslogd)
$ps -C syslogd -o pid=
9. 僅僅打印pid=42的name(Print only the name of PID 42)
$ps -p 42 -o comm=
10. 實(shí)用 以(7)為例,按照自定義格式看cpu信息
$ps -eo comm,pcpu | head
附: -0的參數(shù)目錄
參數(shù) | 描述 |
pcpu | CPU占用率 |
pid | 進(jìn)程ID |
ppid | 父進(jìn)程ID |
pmem | 內(nèi)存使用率 |
comm | 可執(zhí)行文件 |
cmd | 簡(jiǎn)單命令(simple command) |
user | 啟動(dòng)進(jìn)程的用戶 |
nice | 優(yōu)先級(jí)(niceness) |
time | 累計(jì)的CPU時(shí)間 |
etime | 進(jìn)程啟動(dòng)后累計(jì)時(shí)間 |
tty | 當(dāng)前終端進(jìn)程 |
euid | 有效用戶ID |
stat | 進(jìn)程狀態(tài) |
ps語法
ps(選項(xiàng))
ps選項(xiàng)
-a:顯示所有終端機(jī)下執(zhí)行的程序,除了階段作業(yè)領(lǐng)導(dǎo)者之外。
a:顯示現(xiàn)行終端機(jī)下的所有程序,包括其他用戶的程序。
-A:顯示所有程序。
-c:顯示CLS和PRI欄位。
c:列出程序時(shí),顯示每個(gè)程序真正的指令名稱,而不包含路徑,選項(xiàng)或常駐服務(wù)的標(biāo)示。
-C<指令名稱>:指定執(zhí)行指令的名稱,并列出該指令的程序的狀況。
-d:顯示所有程序,但不包括階段作業(yè)領(lǐng)導(dǎo)者的程序。
-e:此選項(xiàng)的效果和指定"A"選項(xiàng)相同。
e:列出程序時(shí),顯示每個(gè)程序所使用的環(huán)境變量。
-f:顯示UID,PPIP,C與STIME欄位。
f:用ASCII字符顯示樹狀結(jié)構(gòu),表達(dá)程序間的相互關(guān)系。
-g<群組名稱>:此選項(xiàng)的效果和指定"-G"選項(xiàng)相同,當(dāng)亦能使用階段作業(yè)領(lǐng)導(dǎo)者的名稱來指定。
g:顯示現(xiàn)行終端機(jī)下的所有程序,包括群組領(lǐng)導(dǎo)者的程序。
-G<群組識(shí)別碼>:列出屬于該群組的程序的狀況,也可使用群組名稱來指定。
h:不顯示標(biāo)題列。
-H:顯示樹狀結(jié)構(gòu),表示程序間的相互關(guān)系。
-j或j:采用工作控制的格式顯示程序狀況。
-l或l:采用詳細(xì)的格式來顯示程序狀況。
L:列出欄位的相關(guān)信息。
-m或m:顯示所有的執(zhí)行緒。
n:以數(shù)字來表示USER和WCHAN欄位。
-N:顯示所有的程序,除了執(zhí)行ps指令終端機(jī)下的程序之外。
-p<程序識(shí)別碼>:指定程序識(shí)別碼,并列出該程序的狀況。
p<程序識(shí)別碼>:此選項(xiàng)的效果和指定"-p"選項(xiàng)相同,只在列表格式方面稍有差異。
r:只列出現(xiàn)行終端機(jī)正在執(zhí)行中的程序。
-s<階段作業(yè)>:指定階段作業(yè)的程序識(shí)別碼,并列出隸屬該階段作業(yè)的程序的狀況。
s:采用程序信號(hào)的格式顯示程序狀況。
S:列出程序時(shí),包括已中斷的子程序資料。
-t<終端機(jī)編號(hào)>:指定終端機(jī)編號(hào),并列出屬于該終端機(jī)的程序的狀況。
t<終端機(jī)編號(hào)>:此選項(xiàng)的效果和指定"-t"選項(xiàng)相同,只在列表格式方面稍有差異。
-T:顯示現(xiàn)行終端機(jī)下的所有程序。
-u<用戶識(shí)別碼>:此選項(xiàng)的效果和指定"-U"選項(xiàng)相同。
u:以用戶為主的格式來顯示程序狀況。
-U<用戶識(shí)別碼>:列出屬于該用戶的程序的狀況,也可使用用戶名稱來指定。
U<用戶名稱>:列出屬于該用戶的程序的狀況。
v:采用虛擬內(nèi)存的格式顯示程序狀況。
-V或V:顯示版本信息。
-w或w:采用寬闊的格式來顯示程序狀況?!?br/>x:顯示所有程序,不以終端機(jī)來區(qū)分。
X:采用舊式的Linux i386登陸格式顯示程序狀況。
-y:配合選項(xiàng)"-l"使用時(shí),不顯示F(flag)欄位,并以RSS欄位取代ADDR欄位 。
-<程序識(shí)別碼>:此選項(xiàng)的效果和指定"p"選項(xiàng)相同。
--cols<每列字符數(shù)>:設(shè)置每列的較大字符數(shù)。
--columns<每列字符數(shù)>:此選項(xiàng)的效果和指定"--cols"選項(xiàng)相同。
--cumulative:此選項(xiàng)的效果和指定"S"選項(xiàng)相同。
--deselect:此選項(xiàng)的效果和指定"-N"選項(xiàng)相同。
--forest:此選項(xiàng)的效果和指定"f"選項(xiàng)相同。
--headers:重復(fù)顯示標(biāo)題列。
--help:在線幫助。
--info:顯示排錯(cuò)信息。
--lines<顯示列數(shù)>:設(shè)置顯示畫面的列數(shù)。
--no-headers:此選項(xiàng)的效果和指定"h"選項(xiàng)相同,只在列表格式方面稍有差異。
--group<群組名稱>:此選項(xiàng)的效果和指定"-G"選項(xiàng)相同。
--Group<群組識(shí)別碼>:此選項(xiàng)的效果和指定"-G"選項(xiàng)相同。
--pid<程序識(shí)別碼>:此選項(xiàng)的效果和指定"-p"選項(xiàng)相同。
--rows<顯示列數(shù)>:此選項(xiàng)的效果和指定"--lines"選項(xiàng)相同。
--sid<階段作業(yè)>:此選項(xiàng)的效果和指定"-s"選項(xiàng)相同。
--tty<終端機(jī)編號(hào)>:此選項(xiàng)的效果和指定"-t"選項(xiàng)相同。
--user<用戶名稱>:此選項(xiàng)的效果和指定"-U"選項(xiàng)相同。
--User<用戶識(shí)別碼>:此選項(xiàng)的效果和指定"-U"選項(xiàng)相同。
--version:此選項(xiàng)的效果和指定"-V"選項(xiàng)相同。
--widty<每列字符數(shù)>:此選項(xiàng)的效果和指定"-cols"選項(xiàng)相同。
關(guān)于“l(fā)inux中ps命令怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。