linux中的ps命令是process status的縮寫。ps命令用來列出系統中當前執行的那些程序。ps命令列出的是當前那些程序的快照,就是執行ps命令的那個時刻的那些程序,如果想要動態的顯示程序資訊,就可以使用top命令。要對程序進行監測和控制,首先必須要了解當前程序的情況,也就是需要檢視當前程序,而 ps 命令就是最基本同時也是非常強大的程序檢視命令。使用該命令可以確定有哪些程序正在執行和執行的狀態、程序是否結束、程序有沒有僵死、哪些程序占用了過多的資源等等。總之大部分資訊都是可以通過執行該命令得到的。
ps
[options]
[--help]
引數用途a
顯示所有程序
-a顯示同一終端下的所有程式
-a顯示所有程序
c顯示程序的真實名稱
-n反向選擇
-e等於「-a」
e顯示環境變數
f顯示程式間的關係
-h顯示樹狀結構
r顯示當前終端的程序
t顯示當前終端的所有程式
u指定使用者的所有程序
-au顯示較詳細的資訊
-aux
顯示所有包含其他使用者的行程
-c《命令》
列出指定命令的狀況
–lines《行數》
每頁顯示的行數
–width《字元數》
每頁顯示的字元數
–help
顯示幫助資訊
–version
顯示版本顯示
顯示所有程序資訊
ps -a
[root@localhost test6]# ps -a
pidtty
time
cmd1 ? 00:00
:00 init
2 ? 00:00
:01 migration/0
顯示指定使用者資訊
ps -u root
[root@localhost test6]# ps -u root
pidtty
time
cmd1 ? 00:00
:00 init
2 ? 00:00
:01 migration/0
顯示所有程序資訊,連同命令列
ps -ef
[root@localhost test6]# ps
-efuid
pi***id
cstime
ttytime
cmdroot 1 0 0 nov02 ? 00:00
:00init
[3]root 2 1 0 nov02 ? 00:00
:01[migration/0]
ps 與grep 常用組合用法,查詢特定程序
ps -ef|grep ssh
[root@localhost test6]# ps -ef|grep ssh
root 272010
nov02 ? 00:00
:00 /usr/sbin/sshd
root 17394
2720014
:58 ? 00:00
:00sshd: root@pts/0
將目前屬於您自己這次登入的 pid 與相關資訊列示出來
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
17394075
0 - 16543
wait pts/0
00:00:00 bash
4 r 0
17469
17398077
0 - 15877 - pts/0
00:00:00 ps
列出目前所有的正在記憶體當中的程式
ps aux
[root@localhost test6]# ps
auxuser
pid %cpu %mem
vszrss
ttystat
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]
列出類似程式樹的程式顯示
ps -axjf
root@localhost test6]# ps -axjf
warning
: bad syntax, perhaps a bogus '-'? see /usr/share/doc/procps-3.2.7/faq
ppid
pidpgid
sidtty
tpgid
stat
uidtime
command01
11 ? -1ss0
0:00 init [3]
1211 ? -1
s< 00:
01 [migration/0]
找出與 cron 與 syslog 這兩個服務有關的 pid 號碼
ps aux | egrep '(cron|syslog)'
[root@localhost test6]# ps aux | egrep '(cron|syslog)'
root 2682
0.00.0
83384
2000 ? sl nov02 0:00 /sbin/rsyslogd -i /var/run/syslogd.pid -c 5
root 2735
0.00.0
74812
1140 ? ss nov02 0:00 crond
root 17475
0.00.0
61180
832 pts/0 s+ 16:27
0:00 egrep (cron|syslog)
可以用 | 管道和 more 連線起來分頁檢視
ps -aux |more
輸出指定的字段
ps -o pid,ppid,pgrp,session,tpgid,comm
輸出字段
含義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
該程式的實際指令
f代表這個程式的旗標(flag),4代表使用者為super user
s代表這個程式的狀態(stat),關於各stat的意義將在內文介紹
uid程式被該uid所擁有
pid就是這個程式的id!
ppid
則是其上級父程式的id
ccpu使用的資源百分比
pri這個是priority(優先執行序)的縮寫,詳細後面介紹
ni這個是nice值,在下一小節我們會持續介紹
addr
這個是kernel function,指出該程式在記憶體的那個部分。如果是個running的程式,一般就是」-「
sz使用掉的記憶體大小
wchan
目前這個程式是否正在運作當中,若為-表示正在運作
tty登入者的終端機位置
time
使用掉的cpu時間。
cmd所下達的指令為何
Linux ps命令詳細引數
在linux系統中,ps process status的縮寫 命令常常用來用來列出系統中當前執行的程序。ps命令列出的是當前那些程序的快照,就是執行ps命令的那個時刻的那些程序,如果想要動態的顯示程序資訊,就可以使用top命令。要對程序進行監測和控制,首先必須要了解當前程序的情況,也就是需要檢視當前...
Linux ps命令詳解與示例說明
ps命令最常用的還是用於監控後台程序的工作情況,因為後台程序是不和螢幕鍵盤這些標準輸入 輸出裝置進行通訊的,所以如果需要檢測其情況,便可以使用ps命令了.注意 ps是顯示瞬間程序的狀態,並不動態連續 如果想對程序進行實時監控應該用top命令。通過man ps可以獲得ps的詳細引數用法。下面可以通過示...
linux ps命令詳解
1.ps簡介 ps命令就是最基本同時也是非常強大的程序檢視命令.使用該命令可以確定有哪些程序正在執行和執行的狀態 程序是否結束 程序有沒有僵死 哪些程序占用了過多的資源等等.總之大部分資訊都是可以通過執行該命令得到的.2.ps命令及其引數 ps命令最常用的還是用於監控後台程序的工作情況,因為後台程序...