Linux ps 命令
簡介
ps 命令是 Linux 中一個廣泛使用的實用程式,它提供當前程序及其狀態的快照。它有助於監控正在執行的程序,識別程序 ID(PID)、終端型別(TTY)、CPU 時間使用情況、命令名稱、使用者 ID 及其他資訊。本文全面概述了 ps 命令在現實生活中的各種用例。
ps 命令的語法
ps 命令的基本語法如下所示:
$ ps [OPTIONS]
ps 命令支援三種不同的語法風格:Unix、BSD 和 GNU。Unix 風格的語法可以包裝並在前面加上連字元,BSD 可以包裝但不能在前面加上連字元,而 GNU 語法使用長選項並在前面加上雙連字元。
ps 命令選項
以下是與 ps 命令一起使用的一些開關:
ps -ef 或 ps -aux - 以完整格式列出當前正在執行的程序
ps -ax - 列出當前正在執行的程序
ps -u <使用者名稱> - 列出特定使用者的程序
ps -C <命令> - 列出給定命令的程序
ps -p <PID> - 列出具有給定PID 的程序
ps -ppid <PPID> - 列出具有給定父程序 ID(PPID)的程序
pstree - 以層次結構顯示程序
ps -L - 列出特定程序的所有執行緒
ps --sort pmem - 查詢記憶體洩漏
ps -eo - 顯示安全資訊
ps -U root -u root u - 顯示由 root 執行的程序
ps 命令的用例
讓我們看看ps 命令在現實生活中的用例,這對系統管理員很有幫助。
列出所有正在執行的程序
要檢視系統上當前正在執行的所有程序,請使用以下命令:
$ ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 Jan31 ? 00:00:00 /sbin/init splash root 2 0 0 Jan31 ? 00:00:00 [kthreadd] root 3 2 0 Jan31 ? 00:00:00 [rcu_gp] root 4 2 0 Jan31 ? 00:00:00 [rcu_par_gp] root 5 2 0 Jan31 ? 00:00:00 [kworker/0:0-events] ...
在以上輸出中,PID 表示正在執行的命令的程序 ID,TTY 是正在執行當前命令的終端型別,TIME 是 CPU 執行該程序所需的時間,CMD 是當前命令。
按 CPU 或記憶體使用情況過濾列出所有正在執行的程序
要檢視按CPU 或記憶體使用情況過濾的所有當前正在執行的程序,請使用以下命令:
$ pd-aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.0 19404 3116 ? Ss Jan31 0:00 /sbin/init splash root 2 0.0 0.0 0 0 ? S Jan31 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? R Jan31 0:00 [rcu_gp] root 4 0.0 0.0 0 0 ? S Jan31 0:00 [rcu_par_gp] root 5 0.0 0.0 0 0 ? S Jan31 0:00 [kworker/0:0-events] ...
在以上輸出中,%CPU 顯示程序當前的CPU 使用率,%MEM 顯示程序的記憶體使用率,VSZ 是虛擬記憶體的大小,RSS 是駐留池的大小。
列出特定使用者的程序
要檢視特定使用者正在執行的所有程序,請使用以下命令:
$ ps -u <username>
例如,要檢視root 使用者的所有程序,請使用以下命令:
$ ps -u root USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.0 19404 3116 ? Ss Jan31 0:00 /sbin/init splash root 2 0.0 0.0 0 0 ? S Jan31 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? R Jan31 0:00 [rcu_gp] root 4 0.0 0.0 0 0 ? S Jan31 0:00 [rcu_par_gp] root 5 0.0 0.0 0 0 ? S Jan31 0:00 [kworker/0:0-events] ...
特定命令的程序列表
要檢視特定命令正在執行的所有程序,請使用以下命令:
$ ps -C <command>
例如,要檢視python 命令的所有正在執行的程序,請使用以下命令:
$ ps -C python USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 123 0.0 1.2 95768 23844 ? S 12:00 0:05 python user1 456 0.2 0.9 95768 23844 ? S 13:00 0:03 python ...
列出具有給定 PID 的程序
要檢視具有給定PID 的程序,請使用以下命令:
$ ps -p <PID>
例如,要檢視PID 123 的程序,請使用以下命令:
$ ps -p 123 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 123 0.0 1.2 95768 23844 ? S 12:00 0:05 python
結論
ps 命令是管理 Linux 上程序的極其強大的工具。無論您是想監控特定程序、查詢佔用過多記憶體或 CPU 的程序,還是監控系統上執行的所有程序,ps 命令都能提供您所需的資訊。對於任何 Linux 管理員或高階使用者來說,它都是必不可少的工具。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP