ps是Linux系統中用於查看進程狀況的命令,用於顯示當前系統中進程的快照。ps會顯示部分當前活動的進程信息,不同於top指令,top指令會實時的更新所顯示的進程動態。
Linux的ps指令兼容了多種版本的選項,這些選項有UNIX風格的,有BSD風格的,還有GNU的長選項:
1.Unix風格選項,能夠合並且前面必須要有短線“-”
2.BSD風格的選項,可以合並但是不使用短線“-”
3.GNU長選項,以雙短線“--”開頭
默認情況下,ps會選擇所有具有相同EUID的進程,顯示進程ID(pid=PID),與進程關聯的終端(tname=TTY),以hh:mm:ss的格式顯示進程累計占用的CPU時間(time=TIME),以及可執行的名稱(ucmd=CMD),默認情況下,顯示結果不排序。
命令的用法是:
$ ps [options]
常見的指令有:
#查看所有進程:
$ ps -e
或
$ ps -A
#查看指定了有效用戶ID或用戶名的用戶列表的所有進程,有效用戶是進程使用了其對於文件的訪問權限的用戶:
$ ps -u userlist
#查看當前用戶的所有進程:
$ ps -ux
#查看某一指定用戶(例如:keystone)的所有進程:
$ ps -U keystone
#查看特定可執行名稱組成的列表(例如:sshd)引發的所有進程:
$ ps -C sshd
#查看特定終端N(例如:tty1)的所有進程:
$ ps -t1
#查看指定PID(例如:881和18663)的進程:
$ ps -p 881,18663
#對於所有進程連同命令行,截斷其超出屏幕寬度的部分(結果顯示的每個進程都占屏幕一行,多出的部分被截去):
$ ps -ef
#對於所有進程連同命令行,顯示全部的信息(結果可能跨屏幕多行):
$ ps -efww
#使用縮進方式呈現所有進程的層次關系:
$ ps -efH