MAC shell ps 命令詳解

ps命令為我們提供了一次性的查看進(jìn)程結(jié)果逛拱,它所提供的查看結(jié)果不是動態(tài)連續(xù)的;如果想對進(jìn)程時間監(jiān)控台猴,應(yīng)該用top工具

Linux中的ps命令是Process Status的縮寫朽合。ps命令用來列出系統(tǒng)中當(dāng)前運行的那些進(jìn)程俱两。ps命令列出的是當(dāng)前那些進(jìn)程的快照,就是執(zhí)行ps命令的那個時刻的那些進(jìn)程曹步,如果想要動態(tài)的顯示進(jìn)程信息宪彩,就可以使用top命令。要對進(jìn)程進(jìn)行監(jiān)測和控制讲婚,首先必須要了解當(dāng)前進(jìn)程的情況尿孔,也就是需要查看當(dāng)前進(jìn)程,而 ps 命令就是最基本同時也是非常強大的進(jìn)程查看命令筹麸。使用該命令可以確定有哪些進(jìn)程正在運行和運行的狀態(tài)活合、進(jìn)程是否結(jié)束、進(jìn)程有沒有僵死竹捉、哪些進(jìn)程占用了過多的資源等等芜辕。總之大部分信息都是可以通過執(zhí)行該命令得到的块差。

ps 為我們提供了進(jìn)程的一次性的查看侵续,它所提供的查看結(jié)果并不動態(tài)連續(xù)的;如果想對進(jìn)程時間監(jiān)控憨闰,應(yīng)該用 top 工具状蜗。

kill 命令用于殺死進(jìn)程。

linux上進(jìn)程有5種狀態(tài):

  1. 運行(正在運行或在運行隊列中等待)
  2. 中斷(休眠中, 受阻, 在等待某個條件的形成或接受到信號)
  3. 不可中斷(收到信號不喚醒和不可運行, 進(jìn)程必須等待直到有中斷發(fā)生)
  4. 僵死(進(jìn)程已終止, 但進(jìn)程描述符存在, 直到父進(jìn)程調(diào)用wait4()系統(tǒng)調(diào)用后釋放)
  5. 停止(進(jìn)程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號后停止運行運行)
    ps工具標(biāo)識進(jìn)程的5種狀態(tài)碼:
    D 不可中斷 uninterruptible sleep (usually IO)
    R 運行 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)程的真實名稱
-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ù)> 每頁顯示的行數(shù)
--width<字符數(shù)> 每頁顯示的字符數(shù)
--help 顯示幫助信息
--version 顯示版本顯示

4.使用實例:

實例1:顯示所有進(jìn)程信息

命令:

ps -A

輸出:

[root@localhost test6]# ps -A
PID TTY TIME CMD
1 ? 00:00:00 init
2 ? 00:00:01 migration/0
3 ? 00:00:00 ksoftirqd/0
4 ? 00:00:01 migration/1
5 ? 00:00:00 ksoftirqd/1
6 ? 00:29:57 events/0
7 ? 00:00:00 events/1
8 ? 00:00:00 khelper
49 ? 00:00:00 kthread
54 ? 00:00:00 kblockd/0
55 ? 00:00:00 kblockd/1
56 ? 00:00:00 kacpid
217 ? 00:00:00 cqueue/0

實例2:顯示指定用戶信息

命令:

ps -u root

輸出:

[root@localhost test6]# ps -u root
PID TTY TIME CMD
1 ? 00:00:00 init
2 ? 00:00:01 migration/0
3 ? 00:00:00 ksoftirqd/0
4 ? 00:00:01 migration/1
5 ? 00:00:00 ksoftirqd/1
6 ? 00:29:57 events/0
7 ? 00:00:00 events/1
8 ? 00:00:00 khelper
49 ? 00:00:00 kthread
54 ? 00:00:00 kblockd/0
55 ? 00:00:00 kblockd/1
56 ? 00:00:00 kacpid

實例3:顯示所有進(jìn)程信息鹉动,連同命令行

命令:

ps -ef

輸出:

[root@localhost test6]# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 Nov02 ? 00:00:00 init [3] 
root 2 1 0 Nov02 ? 00:00:01 [migration/0]
root 3 1 0 Nov02 ? 00:00:00 [ksoftirqd/0]
root 4 1 0 Nov02 ? 00:00:01 [migration/1]
root 5 1 0 Nov02 ? 00:00:00 [ksoftirqd/1]
root 6 1 0 Nov02 ? 00:29:57 [events/0]
root 7 1 0 Nov02 ? 00:00:00 [events/1]
root 8 1 0 Nov02 ? 00:00:00 [khelper]
root 49 1 0 Nov02 ? 00:00:00 [kthread]
root 54 49 0 Nov02 ? 00:00:00 [kblockd/0]
root 55 49 0 Nov02 ? 00:00:00 [kblockd/1]
root 56 49 0 Nov02 ? 00:00:00 [kacpid]

實例4: ps 與grep 常用組合用法轧坎,查找特定進(jìn)程

命令:

ps -ef|grep ssh

輸出:

[root@localhost test6]# ps -ef|grep ssh
root 2720 1 0 Nov02 ? 00:00:00 /usr/sbin/sshd
root 17394 2720 0 14:58 ? 00:00:00 sshd: <a href="mailto:root@pts/0">root@pts/0</a> 
root 17465 17398 0 15:57 pts/0 00:00:00 grep ssh

實例5:將目前屬于您自己這次登入的 PID 與相關(guān)信息列示出來

命令:

ps -l

輸出:

[root@localhost test6]# ps -l
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 17398 17394 0 75 0 - 16543 wait pts/0 00:00:00 bash
4 R 0 17469 17398 0 77 0 - 15877 - pts/0 00:00:00 ps

說明:

各相關(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í)行序) 的縮寫,詳細(xì)后面介紹

NI 這個是 Nice 值械筛,在下一小節(jié)我們會持續(xù)介紹

ADDR 這個是 kernel function捎泻,指出該程序在內(nèi)存的那個部分。如果是個 running的程序埋哟,一般就是 "-"

SZ 使用掉的內(nèi)存大小

WCHAN 目前這個程序是否正在運作當(dāng)中笆豁,若為 - 表示正在運作

TTY 登入者的終端機(jī)位置

TIME 使用掉的 CPU 時間。

CMD 所下達(dá)的指令為何

在預(yù)設(shè)的情況下赤赊, ps 僅會列出與目前所在的 bash shell 有關(guān)的 PID 而已闯狱,所以, 當(dāng)我使用 ps -l 的時候抛计,只有三個 PID哄孤。

實例6:列出目前所有的正在內(nèi)存當(dāng)中的程序

命令:

ps aux

輸出:

[root@localhost test6]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 10368 676 ? Ss Nov02 0:00 init [3] 
root 2 0.0 0.0 0 0 ? S< Nov02 0:01 [migration/0]
root 3 0.0 0.0 0 0 ? SN Nov02 0:00 [ksoftirqd/0]
root 4 0.0 0.0 0 0 ? S< Nov02 0:01 [migration/1]
root 5 0.0 0.0 0 0 ? SN Nov02 0:00 [ksoftirqd/1]
root 6 0.0 0.0 0 0 ? S< Nov02 29:57 [events/0]
root 7 0.0 0.0 0 0 ? S< Nov02 0:00 [events/1]
root 8 0.0 0.0 0 0 ? S< Nov02 0:00 [khelper]
root 49 0.0 0.0 0 0 ? S< Nov02 0:00 [kthread]
root 54 0.0 0.0 0 0 ? S< Nov02 0:00 [kblockd/0]
root 55 0.0 0.0 0 0 ? S< Nov02 0:00 [kblockd/1]
root 56 0.0 0.0 0 0 ? S< Nov02 0:00 [kacpid]

說明:

USER:該 process 屬于那個使用者賬號的

PID :該 process 的號碼

%CPU:該 process 使用掉的 CPU 資源百分比

%MEM:該 process 所占用的物理內(nèi)存百分比

VSZ :該 process 使用掉的虛擬內(nèi)存量 (Kbytes)

RSS :該 process 占用的固定的內(nèi)存量 (Kbytes)

TTY :該 process 是在那個終端機(jī)上面運作,若與終端機(jī)無關(guān)吹截,則顯示 ?瘦陈,另外朦肘, tty1-tty6 是本機(jī)上面的登入者程序,若為 pts/0 等等的双饥,則表示為由網(wǎng)絡(luò)連接進(jìn)主機(jī)的程序媒抠。

STAT:該程序目前的狀態(tài),主要的狀態(tài)有

R :該程序目前正在運作咏花,或者是可被運作

S :該程序目前正在睡眠當(dāng)中 (可說是 idle 狀態(tài))趴生,但可被某些訊號 (signal) 喚醒。

T :該程序目前正在偵測或者是停止了

Z :該程序應(yīng)該已經(jīng)終止昏翰,但是其父程序卻無法正常的終止他苍匆,造成 zombie (疆尸) 程序的狀態(tài)

START:該 process 被觸發(fā)啟動的時間

TIME :該 process 實際使用 CPU 運作的時間

COMMAND:該程序的實際指令

實例7:列出類似程序樹的程序顯示

命令:

ps -axjf

輸出:

[root@localhost test6]# ps -axjf
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.7/FAQ
PPID PID PGID SID TTY TPGID STAT UID TIME COMMAND
0 1 1 1 ? -1 Ss 0 0:00 init [3] 
1 2 1 1 ? -1 S< 0 0:01 [migration/0]
1 3 1 1 ? -1 SN 0 0:00 [ksoftirqd/0]
1 4 1 1 ? -1 S< 0 0:01 [migration/1]
1 5 1 1 ? -1 SN 0 0:00 [ksoftirqd/1]
1 6 1 1 ? -1 S< 0 29:58 [events/0]
1 7 1 1 ? -1 S< 0 0:00 [events/1]
1 8 1 1 ? -1 S< 0 0:00 [khelper]
1 49 1 1 ? -1 S< 0 0:00 [kthread]
49 54 1 1 ? -1 S< 0 0:00 \_ [kblockd/0]
49 55 1 1 ? -1 S< 0 0:00 \_ [kblockd/1]
49 56 1 1 ? -1 S< 0 0:00 \_ [kacpid]

實例8:找出與 cron 與 syslog 這兩個服務(wù)有關(guān)的 PID 號碼

命令:

ps aux | egrep '(cron|syslog)'

輸出:

[root@localhost test6]# ps aux | egrep '(cron|syslog)'
root 2682 0.0 0.0 83384 2000 ? Sl Nov02 0:00 /sbin/rsyslogd -i /var/run/syslogd.pid -c 5
root 2735 0.0 0.0 74812 1140 ? Ss Nov02 0:00 crond
root 17475 0.0 0.0 61180 832 pts/0 S+ 16:27 0:00 egrep (cron|syslog)
[root@localhost test6]#

其他實例:

  1. 可以用 | 管道和 more 連接起來分頁查看
    命令:
ps -aux |more
  1. 把所有進(jìn)程顯示出來,并輸出到ps001.txt文件
    命令:
ps -aux > ps001.txt
  1. 輸出指定的字段
    命令:
ps -o pid,ppid,pgrp,session,tpgid,comm

輸出:

[root@localhost test6]# ps -o pid,ppid,pgrp,session,tpgid,comm
PID PPID PGRP SESS TPGID COMMAND
17398 17394 17398 17398 17478 bash
17478 17398 17478 17398 17478 ps
[root@localhost test6]#
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末棚菊,一起剝皮案震驚了整個濱河市浸踩,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌统求,老刑警劉巖检碗,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異码邻,居然都是意外死亡折剃,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進(jìn)店門像屋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來怕犁,“玉大人,你說我怎么就攤上這事己莺∽喔Γ” “怎么了?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵凌受,是天一觀的道長阵子。 經(jīng)常有香客問我,道長胁艰,這世上最難降的妖魔是什么款筑? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任智蝠,我火速辦了婚禮腾么,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘杈湾。我一直安慰自己解虱,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布漆撞。 她就那樣靜靜地躺著殴泰,像睡著了一般于宙。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上悍汛,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天捞魁,我揣著相機(jī)與錄音,去河邊找鬼离咐。 笑死谱俭,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的宵蛀。 我是一名探鬼主播昆著,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼术陶!你這毒婦竟也來了凑懂?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤梧宫,失蹤者是張志新(化名)和其女友劉穎接谨,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體塘匣,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡疤坝,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了馆铁。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片跑揉。...
    茶點故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖埠巨,靈堂內(nèi)的尸體忽然破棺而出历谍,到底是詐尸還是另有隱情,我是刑警寧澤辣垒,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布望侈,位于F島的核電站,受9級特大地震影響勋桶,放射性物質(zhì)發(fā)生泄漏脱衙。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一例驹、第九天 我趴在偏房一處隱蔽的房頂上張望捐韩。 院中可真熱鬧,春花似錦鹃锈、人聲如沸荤胁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽仅政。三九已至垢油,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間圆丹,已是汗流浹背滩愁。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留辫封,地道東北人惊楼。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像秸讹,于是被迫代替她去往敵國和親檀咙。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,843評論 2 354

推薦閱讀更多精彩內(nèi)容