#ps –ef_常用Linux中ps命令学习及ps aux与ps -ef的区别
工作中常用的是 ps aux查找相關程序進程,上次課程中看到別人用的是ps -ef查找程序進程,看看這兩者的區別。首先查看man ps的解釋:
最后兩段表示在系統中查看每個進程的標準語法和BSD風格的語法,第一段也說明了,ps兼容UNIX、BSD、GUN三種風格的語法:
UNIX 風格,選項可以組合在一起,并且選項前必須有“-”連字符
BSD 風格,選項可以組合在一起,但是選項前不能有“-”連字符。BSD是Unix的一個分支
GNU 風格的長選項,選項前有兩個“-”連字符。GUN計劃,后來發展出了Linux
1.pa aux(與ps -aux結果一致):
? USER:用戶名
? PID :該進程的進程ID號。
? %CPU:該進程使用掉的 CPU 資源百分比;
? %MEM:該進程所占用的物理內存百分比;
? VSZ :該進程使用掉的虛擬內存量 (Kbytes)
? RSS :該進程占用的固定的內存量 (Kbytes)
? TTY :該進程是在那個終端機上面運作,若與終端機無關,則顯示 ?,另外, tty1-tty6 是本機上面的登入者程序,若為 pts/0 等等的,則表示為由網絡連接進主機的程序。
? STAT:該程序目前的狀態,主要的狀態有:
R 運行? ? Runnable (on run queue)? ? ? ? ? ? 正在運行或在運行隊列中等待。
S 睡眠??? Sleeping??? ??? ??? ??? 休眠中, 受阻, 在等待某個條件的形成或接受到信號。
I 空閑??? Idle
Z 僵死??? Zombie(a defunct process)??? ??? 進程已終止, 但進程描述符存在, 直到父進程調用wait4()系統調用后釋放。
D 不可中斷??? Uninterruptible sleep (ususally IO)??? 收到信號不喚醒和不可運行, 進程必須等待直到有中斷發生。
T 終止??? Terminate??? ??? ??? ??? 進程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號后停止運行運行。
P 等待交換頁
W 無駐留頁??? has no resident pages??? ??? 沒有足夠的記憶體分頁可分配。
X 死掉的進程
< 高優先級進程??? ??? ??? ??? ??? 高優先序的進程
N 低優先??? 級進程??? ??? ??? ??? ??? 低優先序的進程
L 內存鎖頁??? Lock??? ??? ??? ??? 有記憶體分頁分配并縮在記憶體內
s 進程的領導者(在它之下有子進程);
l 多進程的(使用 CLONE_THREAD, 類似 NPTL pthreads)
+ 位于后臺的進程組
? START:進程啟動時間和日期;
? TIME :進程使用的總cpu時間。
? COMMAND:正在執行的命令行命令
2.運行ps -ef
UID:用戶ID(User ID)
PID :如上
PPID:父進程的進程ID(Parent Process id)
C:CPU 使用的資源百分比
STIME:進程開始時間
TTY:如上
TIME:如上
CMD:所下達的指令為何
3.其他相關命令:
ps -ax | less和ps -ax |more:less可以按上下箭頭瀏覽所有進程,還可以按enter鍵往下瀏覽;more只能往后瀏覽不能向上瀏覽之前的進程,因此用less更方便;退出進程瀏覽可以按q
ps -aux –sort -pcpu | less:通過 –sort命令根據 CPU 使用來升序排序
ps -aux –sort -pmem | less:通過 –sort命令根據 內存使用 來升序排序
ps -aux –sort -pcpu,+pmem | head -n 10:根據CPU使用和內存使用升序排列,并通過管道顯示前10個結果
ps -C java:顯示java的進程信息,沒有ps aux|grep java、ps -ef|grep java 顯示的詳細
ps -L PID:根據線程來過濾進程
ps -axjf和pstree:樹形顯示進程
ps -eo pid,user,args:參數 -e 顯示所有進程信息,-o 參數控制輸出。Pid,User 和 Args參數顯示PID,運行應用的用戶和該應用。可以查看現在有誰登入了你的服務器
使用PS實時監控進程狀態:
watch -n 1 ‘ps -aux –sort -pmem, -pcpu’
watch -n 1 ‘ps -aux –sort -pmem, -pcpu | head 20’:顯示前20條
watch -n 1 ‘ps -aux -U pungki u –sort -pmem, -pcpu | head 20’:看名為’pungki’用戶的信息的前20條
—————————————-
常用參數:
-A 顯示所有進程(等價于-e)(utility)
-a 顯示一個終端的所有進程,除了會話引線
-N 忽略選擇。
-d 顯示所有進程,但省略所有的會話引線(utility)
-x 顯示沒有控制終端的進程,同時顯示各個命令的具體路徑。dx不可合用。(utility)
-p pid 進程使用cpu的時間
-u uid or username 選擇有效的用戶id或者是用戶名
g gid or groupname 顯示組的所有進程。
U username 顯示該用戶下的所有進程,且顯示各個命令的詳細路徑。如:ps U zhang;(utility)
-f 全部列出,通常和其他選項聯用。如:ps -fa or ps -fx and so on.
-l 長格式(有F,wchan,C 等字段)
-j 作業格式
-o 用戶自定義格式。
v 以虛擬存儲器格式顯示
s 以信號格式顯示
-m 顯示所有的線程
-H 顯示進程的層次(和其它的命令合用,如:ps -Ha)(utility)
e 命令之后顯示環境(如:ps -d e; ps -a e)(utility)
h 不顯示第一行
————————————
ps命令常用用法(方便查看系統進程)
1)ps a 顯示現行終端機下的所有程序,包括其他用戶的程序。
2)ps -A 顯示所有進程。
3)ps c 列出程序時,顯示每個程序真正的指令名稱,而不包含路徑,參數或常駐服務的標示。
4)ps -e 此參數的效果和指定”A”參數相同。
5)ps e 列出程序時,顯示每個程序所使用的環境變量。
6)ps f 用ASCII字符顯示樹狀結構,表達程序間的相互關系。
7)ps -H 顯示樹狀結構,表示程序間的相互關系。
8)ps -N 顯示所有的程序,除了執行ps指令終端機下的程序之外。
9)ps s 采用程序信號的格式顯示程序狀況。
10)ps S 列出程序時,包括已中斷的子程序資料。
11)ps -t 指定終端機編號,并列出屬于該終端機的程序的狀況。
12)ps u 以用戶為主的格式來顯示程序狀況。
13)ps x 顯示所有程序,不以終端機來區分。
總結
以上是生活随笔為你收集整理的#ps –ef_常用Linux中ps命令学习及ps aux与ps -ef的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: react全局状态管理_react 状态
- 下一篇: linux 其他常用命令