linux系统使用ps,Linux系统ps命令使用教程
要對Linux系統(tǒng)中進(jìn)程進(jìn)行監(jiān)測控制,查看狀態(tài),內(nèi)存,CPU的使用情況,使用命令:/bin/ps
(1) ps :是顯示瞬間進(jìn)程的狀態(tài),并不動態(tài)連續(xù);
(2) top:如果想對進(jìn)程運行時間監(jiān)控,應(yīng)該用 top 命令;
(3) kill 用于殺死進(jìn)程或者給進(jìn)程發(fā)送信號;
(4) 查看文章最后的man手冊,可以查看ps的每項輸出的含義,to find: STANDARD FORMAT SPECIFIERS
==============ps 的參數(shù)說明==============
l 長格式輸出;
u 按用戶名和啟動時間的順序來顯示進(jìn)程;
j 用任務(wù)格式來顯示進(jìn)程;
f 用樹形格式來顯示進(jìn)程;
a 顯示所有用戶的所有進(jìn)程(包括其它用戶);
x 顯示無控制終端的進(jìn)程;
r 顯示運行中的進(jìn)程;
ww 避免詳細(xì)參數(shù)被截斷;
-A 列出所有的進(jìn)程
-w 顯示加寬可以顯示較多的資訊
-au 顯示較詳細(xì)的資訊
-aux 顯示所有包含其他使用者的進(jìn)程
-e 顯示所有進(jìn)程,環(huán)境變量
-f 全格式
-h 不顯示標(biāo)題
-l 長格式
-w 寬輸出
a 顯示終端上地所有進(jìn)程,包括其他用戶地進(jìn)程
r 只顯示正在運行地進(jìn)程
x 顯示沒有控制終端地進(jìn)程
我們常用的選項是組合是 aux 或 lax,還有參數(shù) f 的應(yīng)用。
pids 只列出進(jìn)程標(biāo)識符,之間運用逗號分隔.該進(jìn)程列表必須在命令行參數(shù)地最后一個選項后面緊接著給出,中間不能插入空格.比如:ps -f1,4,5 顯示的是進(jìn)程ID為1,4,5的進(jìn)程
下介紹長命令行選項,這些選項都運用“--”開頭:
--sort X[+|-] key [,[+|-] key [,…]] 從SORT KEYS段中選一個多字母鍵.“+”字符是可選地,因為默認(rèn)地方向就是按數(shù)字升序或者詞典順序,“-”字符是逆序排序(即降序).
比如: ps -jax -sort=uid,-ppid,+pid.
--help 顯示幫助信息.
--version 顯示該命令地版本信息.
在前面地選項說明中提到了排序鍵,接下來對排序鍵作進(jìn)一步說明.需要注意地是排序中運用地值是ps運用地內(nèi)部值,并非僅用于某些輸出格式地偽值.排序鍵列表見下表.
==============排序鍵列表==============
c cmd 可執(zhí)行地簡單名稱
C cmdline 完整命令行
f flags 長模式標(biāo)志
g pgrp 進(jìn)程地組ID
G tpgid 控制tty進(jìn)程組ID
j cutime 累計用戶時間
J cstime 累計系統(tǒng)時間
k utime 用戶時間
K stime 系統(tǒng)時間
m min_flt 次要頁錯誤地數(shù)量
M maj_flt 重點頁錯誤地數(shù)量
n cmin_flt 累計次要頁錯誤
N cmaj_flt 累計重點頁錯誤
o session 對話ID
p pid 進(jìn)程ID
P ppid 父進(jìn)程ID
r rss 駐留大小
R resident 駐留頁
s size 內(nèi)存大小(千字節(jié))
S share 共享頁地數(shù)量
t tty tty次要設(shè)備號
T start_time 進(jìn)程啟動地時間
U uid UID
u user 用戶名
v vsize 總地虛擬內(nèi)存數(shù)量(字節(jié))
y priority 內(nèi)核調(diào)度優(yōu)先級
==============ps aux 或 lax 輸出的解釋==============
2、ps aux 或 lax 輸出的解釋
au(x) 輸出格式 :
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER: 進(jìn)程所有者
PID: 進(jìn)程ID
%CPU: 占用的 CPU 使用率
%MEM: 占用的內(nèi)存使用率
VSZ: 占用的虛擬內(nèi)存大小
RSS: 占用的內(nèi)存大小
TTY: 終端的次要裝置號碼 (minor device number of tty)
STAT: 進(jìn)程狀態(tài):
START: 啟動進(jìn)程的時間;
TIME: 進(jìn)程消耗CPU的時間;
COMMAND:命令的名稱和參數(shù);
==============進(jìn)程STAT狀態(tài)==============
D 無法中斷的休眠狀態(tài)(通常 IO 的進(jìn)程);
R 正在運行,在可中斷隊列中;
S 處于休眠狀態(tài),靜止?fàn)顟B(tài);
T 停止或被追蹤,暫停執(zhí)行;
W 進(jìn)入內(nèi)存交換(從內(nèi)核2.6開始無效);
X 死掉的進(jìn)程;
Z 僵尸進(jìn)程不存在但暫時無法消除;
W: 沒有足夠的記憶體分頁可分配
WCHAN 正在等待的進(jìn)程資源;
<:>
N: 低優(yōu)先序進(jìn)程
L: 有記憶體分頁分配并鎖在記憶體內(nèi) (即時系統(tǒng)或捱A I/O),即,有些頁被鎖進(jìn)內(nèi)存
s 進(jìn)程的領(lǐng)導(dǎo)者(在它之下有子進(jìn)程);
l 多進(jìn)程的(使用 CLONE_THREAD, 類似 NPTL pthreads);
位于后臺的進(jìn)程組;
==============kill 終止進(jìn)程==============
kill 終止進(jìn)程
有十幾種控制進(jìn)程的方法,下面是一些常用的方法:
kill -STOP [pid]
發(fā)送SIGSTOP (17,19,23)停止一個進(jìn)程,而并不消滅這個進(jìn)程。
kill -CONT [pid]
發(fā)送SIGCONT (19,18,25)重新開始一個停止的進(jìn)程。
kill -KILL [pid]
發(fā)送SIGKILL (9)強迫進(jìn)程立即停止,并且不實施清理操作。
kill -9 -1
終止你擁有的全部進(jìn)程。
SIGKILL 和 SIGSTOP 信號不能被捕捉、封鎖或者忽略,但是,其它的信號可以。所以這是你的終極武器。
==============范例==============
$ ps
PID TTY TIME COMMAND
5800 ttyp0 00:00:00 bash
5835 ttyp0 00:00:00 ps
可以看到,顯示地項目共分為四項,依次為PID(進(jìn)程ID)、TTY(終端名稱)、TIME(進(jìn)程執(zhí)行時 間)、COMMAND(該進(jìn)程地命令行輸入).
可以運用u選項來查看進(jìn)程所有者及其他少許詳細(xì)信息,如下所示:
$ ps u
USER PID %CPU %MEM USZ RSS TTY STAT START TIME COMMAND
test 5800 0.0 0.4 1892 1040 ttyp0 S Nov27 0:00 -bash
test 5836 0.0 0.3 2528 856 ttyp0 R Nov27 0:00 ps u
在bash進(jìn)程前面有條橫線,意味著該進(jìn)程便是用戶地登錄shell,所以對于一個登錄用戶來說帶短橫線地進(jìn)程只有一個.還可以看 到%CPU、%MEM兩個選項,前者指該進(jìn)程占用地CPU時間
和總時間地百分比;后者指該進(jìn)程占用地內(nèi)存和總內(nèi)存地百分比.
在這種情況下看到了所有控制終端地進(jìn)程;當(dāng)然對于其他那些沒有控制終端地進(jìn)程 還是沒有觀察到,所以這時就需要運用x選項.運用x選項可以觀察到所有地進(jìn)程情況.
1)ps a 顯示現(xiàn)行終端機下的所有程序,包括其他用戶的程序。
2)ps -A 顯示所有程序。
3)ps c 列出程序時,顯示每個程序真正的指令名稱,而不包含路徑,參數(shù)或常駐服務(wù)的標(biāo)示。
4)ps -e 此參數(shù)的效果和指定"A"參數(shù)相同。
5)ps e 列出程序時,顯示每個程序所使用的環(huán)境變量。
6)ps f 用ASCII字符顯示樹狀結(jié)構(gòu),表達(dá)程序間的相互關(guān)系。
7)ps -H 顯示樹狀結(jié)構(gòu),表示程序間的相互關(guān)系。
8)ps -N 顯示所有的程序,除了執(zhí)行ps指令終端機下的程序之外。
9)ps s 采用程序信號的格式顯示程序狀況。
10)ps S 列出程序時,包括已中斷的子程序資料。
11)ps -t 指定終端機編號,并列出屬于該終端機的程序的狀況。
12)ps u 以用戶為主的格式來顯示程序狀況。
13)ps x 顯示所有程序,不以終端機來區(qū)分。
最常用的方法是ps -aux,然后再用管道符號導(dǎo)向到grep去查找特定的進(jìn)程,然后再對特定的進(jìn)程進(jìn)行操作。
總結(jié)
以上是生活随笔為你收集整理的linux系统使用ps,Linux系统ps命令使用教程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件能力成熟度模型CMM
- 下一篇: Linux:详细的RPM和YUM/DNF