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