每天一个linux命令(53)--ps命令
要毀掉一天,從早上開始。
Linux中的ps命令是 process status 的縮寫。ps 命令用來列出系統中當前運行的那些進程。ps 命令列出的是當前那些進程的快照,就是執行ps 命令的那個時刻的那些進程,如果想要動態的顯示進程信息,就可以使用 top 命令。
要對進程進行檢測和控制,首先必須要了解當前進程的情況,也就是需要查看當前進程,而 ps 命令就是最基本同時也是非常強大的進程查看命令。使用該命令可以確定有哪些進程正在和運行的狀態、進程是否結束、進程有沒有僵死,哪些進程占用了過多的資源等等。總之大部分信息都是可以通過該命令得到的。
ps ?為我們提供給了進程的一次性的查看,它所提供的查看結果并不是動態持續的;如果想對進程時間監控,應該用 top 工具。
? kill ? 命令用于殺死進程。
Linux 上進程有 5中狀態:
1.運行(正在運行或在運行隊列中等待)
2.中斷(休眠中,受阻,在等待某個條件的形成或接受到信號)
3.不可中斷(收到信號不喚醒和不可運行,進程必須等待直到有中斷發生)
4.僵死(進程已終止,但進程描述符存在,直到父進程調用wait4()系統調用后釋放)
5.停止(進程收到SIGSTOP,SIGSTP,SIGTOU信號后停止運行)
ps工具標識進程的5種狀態碼:
D 不可中斷 uninterruptible sleep (usually IO )
R 運行 ?runnable (on run ?queue)
S 中斷 ?sleeping
T 停止 ?traced ?or ?stopped
Z ? 僵死 ?a ?defunct ("zombie") process
1.命令格式:
ps[參數]
2.命令功能:
用來顯示當前進程的狀態
3.命令參數:
a 顯示所有進程
-a 顯示同一終端下的所有程序
-A 顯示所有進程
c 顯示進程的真實名稱
-N 反向選擇
-e 等于 “-A”
e 顯示環境變量
f 顯示程序間的關系
-H 顯示樹狀結構
r 顯示當前終端的進程
T 顯示當前終端的所有程序
u 指定用戶的所有進程
-au 顯示較詳細的資訊
-aux 顯示所有包含其他使用者的行程
-C 列出指定命令的狀況
--lines 每頁顯示的行數
--width 每頁顯示的字符數
--help
--version
4.使用實例:
實例1:顯示所有進程信息
ps -A
實例2:顯示指定用戶信息
命令: ps -u ?root
實例3:顯示所有進程信息,連同命令行
命令:
ps ?-ef
實例4: ps 與grep 常用組合用法,查找特定進程
命令:ps ?-ef | grep ?ssh
實例5:將目前屬于您自己這次登入的 PID 與相關信息列示出來
命令: ?ps ?-l
說明:各相關信息的意義:
F 代表這個程序的旗標(flag),4代表使用者為 super user
S 代表這個程序的狀態(STAT),關于各 STAT ?的意義將在內文介紹
UID 程序被該 UID 所擁有
PID 就是這個程序的 ID
PPID 就是其上級父程序的ID
C CPU 使用的資源百分比
PRI 這個是 priority(優先執行)的縮寫
NI 這個是 nice 值,
ADDR 這個是 kernel ?function,指出該程序在內存的那個部分。如果是個 running 的程序,一般就是 “-”
SZ 使用掉的內存大小
WCHAN 目前這個程序是否正在運作當中,若為 - ?表示正在運作
TTY 登入者的終端機位置
TIME 使用掉的CPU 時間
CMD 所下達的知名為何
在預設的情況下,ps 僅會列出與目前所在的 bash shell 有關的 PID 而已,所以,當我使用 ps -l 的時候,只有三個PID。
實例6:列出目前所欲的正在內存當中的程序
命令: ps ?aux
USER 該 process 屬于那個使用者賬號的
PID 該 process 的號碼
%CPU 該 process 使用掉的CPU 資源百分比
%MEM 該 process 所占用的物理內存百分比
VSZ 該 process 使用掉的虛擬機內存量(Kbytes)
RSS 該 ?process ?使用掉的固定內存量(Kbytes)
TTY 該 ?process ?是在那個終端機上面運作,若與終端機無關,則顯示 ? ,另外, ?tty1-tty6 ?是本機上面的登入者程序,若為 ?pts/0 等等的,則表示為由網絡連接進主機的程序。
STAT 該程序目前的狀態,主要的狀態有
R 該程序目前正在運作,或者是可被運作
S 該程序目前正在睡眠當中(可說是 idle 狀態),但可被某些訊號 (signal)喚醒
T 該程序目前正在偵測或者是停止了
Z 該程序應該已經終止,但是其父程序卻無法正常的終止他,造成 ?zombie (僵死)程序狀態
START 該 process ?被觸發啟動的時間
TIME 該 process 實際使用 CPU 運作的時間
COMMAND 該程序的實際指令
實例7:列出類似程序樹的程序顯示
命令:ps ?-axjf
實例8:找出與cron 與 syslog 這兩個服務有關的PID號碼
命令:ps aux | grep ' cron | syslog '
其他實例:
1.可以用 | 管道 和 more ?連接起來分頁查看
命令: ps ?-aux | more?
2.把所有進程顯示出來,并輸出到 ps001.txt 文件
命令:ps ?-aux ?> ?ps001.txt? --輸出重定向
3.輸出指定的字段
命令:ps ?-o ?pid, ppid,pgrp,session,tpgid,comm
?
轉載于:https://www.cnblogs.com/aaronax/p/5680842.html
總結
以上是生活随笔為你收集整理的每天一个linux命令(53)--ps命令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HTML 4.01 规定了三种文档类型
- 下一篇: sql性能优化之多表联查