主頁(yè) > 知識(shí)庫(kù) > 一天一個(gè)shell命令 linux好管家-進(jìn)程-ps命令詳解

一天一個(gè)shell命令 linux好管家-進(jìn)程-ps命令詳解

熱門(mén)標(biāo)簽:怎么在百度地圖標(biāo)注公司的位置 百度地圖標(biāo)注直線距離 鶴崗400電話申請(qǐng) 智能電銷機(jī)器人有用嗎 測(cè)繪地圖標(biāo)注名稱 德陽(yáng)400電話申請(qǐng) 天津電話外呼系統(tǒng)排名 外呼電話系統(tǒng)怎么操作 商機(jī)地圖標(biāo)注

小知識(shí)(以ps為例):

查看命令路徑  which ps
命令幫助 ps --help
命令完全手冊(cè): man ps

說(shuō)明

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)程有沒(méi)有僵死、哪些進(jìn)程占用了過(guò)多的資源等等,總之大部分信息都是可以通過(guò)執(zhí)行該命令得到的。

附知識(shí)說(shuō)明

我們經(jīng)常見(jiàn)到shell命令有三種類型的參數(shù),最初我還琢磨 單劃線和雙劃線有什么特殊的含義,原來(lái)是一個(gè)版本演變留下的問(wèn)題。

linux系統(tǒng)中常見(jiàn)的3種命令行參數(shù)(以ps為例):
Unix類型的參數(shù),前面有一短劃線 如:ps -e
 BSD類型的參數(shù),前面沒(méi)有短劃線  如:ps  a
 GNU長(zhǎng)參數(shù),前面有雙劃線 如:ps --deselect

所以,ps –a 和 ps  a查詢結(jié)果會(huì)不同

常見(jiàn)實(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  長(zhǎng)操作類型

*********** 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í)例(來(lái)自man ps)

1. 查看系統(tǒng)每個(gè)進(jìn)程的標(biāo)準(zhǔn)參數(shù)(To see every process on the system using standard syntax)

復(fù)制代碼 代碼如下:

$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)

復(fù)制代碼 代碼如下:

$ps ax  
$ps axu

3. 打印進(jìn)程樹(shù)(To print a process tree)

復(fù)制代碼 代碼如下:

$ps -ejH  
$ps axjf

4. 打印線程的有關(guān)信息

復(fù)制代碼 代碼如下:

$ps -eLf  
$ps axms

5. 獲取安全信息

復(fù)制代碼 代碼如下:

$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)

復(fù)制代碼 代碼如下:

$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語(yǔ)法

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字符顯示樹(shù)狀結(jié)構(gòu),表達(dá)程序間的相互關(guān)系。
-g群組名稱>:此選項(xiàng)的效果和指定"-G"選項(xiàng)相同,當(dāng)亦能使用階段作業(yè)領(lǐng)導(dǎo)者的名稱來(lái)指定。
g:顯示現(xiàn)行終端機(jī)下的所有程序,包括群組領(lǐng)導(dǎo)者的程序。
-G群組識(shí)別碼>:列出屬于該群組的程序的狀況,也可使用群組名稱來(lái)指定。
h:不顯示標(biāo)題列。
-H:顯示樹(shù)狀結(jié)構(gòu),表示程序間的相互關(guān)系。
-j或j:采用工作控制的格式顯示程序狀況。
-l或l:采用詳細(xì)的格式來(lái)顯示程序狀況。
L:列出欄位的相關(guān)信息。
-m或m:顯示所有的執(zhí)行緒。
n:以數(shù)字來(lái)表示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:以用戶為主的格式來(lái)顯示程序狀況。
-U用戶識(shí)別碼>:列出屬于該用戶的程序的狀況,也可使用用戶名稱來(lái)指定。
U用戶名稱>:列出屬于該用戶的程序的狀況。
v:采用虛擬內(nèi)存的格式顯示程序狀況。
-V或V:顯示版本信息。
-w或w:采用寬闊的格式來(lái)顯示程序狀況。 
x:顯示所有程序,不以終端機(jī)來(lái)區(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è)置顯示畫(huà)面的列數(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)相同。

由于ps命令能夠支持的系統(tǒng)類型相當(dāng)?shù)亩?,所以選項(xiàng)多的離譜!

您可能感興趣的文章:
  • Linux 下進(jìn)程的掛起和恢復(fù)命令
  • Linux監(jiān)視進(jìn)程之ps命令詳解
  • php守護(hù)進(jìn)程 加linux命令nohup實(shí)現(xiàn)任務(wù)每秒執(zhí)行一次
  • Linux下通過(guò)gettimeofday函數(shù)獲取程序段執(zhí)行時(shí)間【推薦】
  • linux獲取進(jìn)程執(zhí)行時(shí)間方法示例
  • 如何在 Linux 中查找一個(gè)命令或進(jìn)程的執(zhí)行時(shí)間

標(biāo)簽:自貢 六盤(pán)水 優(yōu)質(zhì)小號(hào) 鎮(zhèn)江 丹東 百色 武漢 滁州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《一天一個(gè)shell命令 linux好管家-進(jìn)程-ps命令詳解》,本文關(guān)鍵詞  一天,一個(gè),shell,命令,linux,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《一天一個(gè)shell命令 linux好管家-進(jìn)程-ps命令詳解》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于一天一個(gè)shell命令 linux好管家-進(jìn)程-ps命令詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章