使用 ps
命令可以確定有哪些程式正在執行和執行的狀態、程式是否結束、程式有沒有僵死、哪些程式佔用了過多的資源等等,總之大部分資訊都是可以通過執行該命令得到的。
語法
ps [options]
複製程式碼
可使用的option值可以通過 man ps
命令查閱,這裡不再贅述。
示例
例1 檢視當前系統執行的程式
[work@10-13-22 ant]$ ps
PID TTY TIME CMD
5566 pts/0 00:00:00 ps
30574 pts/0 00:00:00 bash
複製程式碼
不加任何引數時,只展示當前系統執行的程式。
例2 檢視所有程式的資訊
[work@10-13-22 ant]$ ps -aux
root 1 0.0 0.0 43560 3908 ? Ss 2018 14:51 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
root 2 0.0 0.0 0 0 ? S 2018 0:01 [kthreadd]
root 3 0.0 0.0 0 0 ? S 2018 0:05 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S< 2018 0:00 [kworker/0:0H]
root 7 0.0 0.0 0 0 ? S 2018 0:06 [migration/0]
root 8 0.0 0.0 0 0 ? S 2018 0:00 [rcu_bh]
root 9 0.0 0.0 0 0 ? S 2018 24:03 [rcu_sched]
root 10 0.0 0.0 0 0 ? S 2018 0:19 [watchdog/0]
root 11 0.0 0.0 0 0 ? S 2018 0:13 [watchdog/1]
...省略更多..
複製程式碼
例3 根據使用者進行過濾
[work@10-13-22 ant]$ ps -u work
PID TTY TIME CMD
983 ? 18:33:18 java
6210 pts/0 00:00:00 ps
6952 ? 01:53:00 java
13494 ? 00:00:46 node
13500 ? 00:06:15 node
13510 ? 00:08:16 node
13511 ? 00:08:06 node
13516 ? 00:07:58 node
13521 ? 00:07:55 node
13944 ? 00:02:10 nginx
13945 ? 00:01:55 nginx
13946 ? 00:02:01 nginx
13947 ? 00:02:13 nginx
14546 ? 00:28:50 node /opt/web/t
29082 ? 01:37:49 PM2 v2.9.1: God
30573 ? 00:00:00 sshd
30574 pts/0 00:00:00 bash
複製程式碼
本示例中,通過-u引數指明只顯示work使用者下的程式。
列說明
下面是對輸出的結果中常見的列的說明:
- USER: 使用者名稱
- PID: 程式ID(Process ID)
- %CPU: 程式的cpu佔用率
- %MEM: 程式的記憶體佔用率
- VSZ: 程式所使用的虛存的大小(Virtual Size)
- RSS: 程式使用的駐留集大小或者是實際記憶體的大小,Kbytes位元組。
- TTY: 與程式關聯的終端(tty)
- STAT: 程式的狀態:程式狀態使用字元表示的(STAT的狀態碼)
- TIME: 程式使用的總cpu時間
- COMMAND: 正在執行的命令列命令
ps
命令非常強大而常用,這裡只以幾個小例子解釋一下其基本用法,在日常使用中一定要多多使用,熟練掌握ps
的用法。