25個有用的Linux程序監控“ps命令”示例
“ps”命令是用於監控Linux作業系統中程序的常用工具。它代表“程序狀態”,用於顯示系統當前正在執行的程序資訊。這些資訊可用於故障排除、最佳化效能以及識別潛在的安全問題。在本文中,我們將討論25個有用的“ps命令”示例,用於Linux程序監控。
顯示所有程序的列表
要顯示Linux系統上所有正在執行的程序的列表,請使用以下命令:
ps aux
這將顯示所有程序的列表,以及它們的PID(程序ID)、CPU使用率、記憶體使用率和其他相關資訊。
顯示所有程序的列表,並顯示完整的命令列
要顯示所有程序的列表,以及它們的完整命令列,請使用以下命令:
ps auxf
這將顯示所有程序的樹狀結構,使您更容易瞭解它們之間的關係。
顯示按CPU使用率排序的所有程序列表
要顯示按CPU使用率排序的所有程序的列表,請使用以下命令:
ps aux --sort=-%cpu
這將顯示按CPU使用率降序排列的所有程序的列表。
顯示按記憶體使用率排序的所有程序列表
要顯示按記憶體使用率排序的所有程序的列表,請使用以下命令:
ps aux --sort=-%mem
這將顯示按記憶體使用率降序排列的所有程序的列表。
顯示特定使用者擁有的所有程序列表
要顯示特定使用者擁有的所有程序的列表,請使用以下命令:
ps -u username
將“username”替換為您要檢視其程序的使用者的實際使用者名稱。
顯示特定命令的所有程序列表
要顯示特定命令的所有程序的列表,請使用以下命令:
ps -C command
將“command”替換為您要檢視其程序的命令的名稱。
顯示特定終端中所有正在執行的程序列表
要顯示特定終端中所有正在執行的程序的列表,請使用以下命令:
ps -t tty
將“tty”替換為您要檢視其程序的終端的名稱。
顯示特定程序組中所有程序的列表
要顯示特定程序組中所有程序的列表,請使用以下命令:
ps --pid pgid
將“pgid”替換為您要檢視其程序的程序組的ID。
顯示特定父程序的所有子程序列表
要顯示特定父程序的所有子程序的列表,請使用以下命令:
ps --ppid pid
將“pid”替換為您要檢視其子程序的父程序的ID。
顯示所有具有特定名稱的程序列表
要顯示所有具有特定名稱的程序列表,請使用以下命令:
ps -C name
將“name”替換為您要檢視的程序的名稱。
顯示所有殭屍程序的列表
要顯示所有殭屍程序的列表,請使用以下命令:
ps aux | awk '$8=="Z" {print}'
殭屍程序是指已完成執行但尚未被系統正確清理的程序。
顯示特定狀態下所有程序的列表
要顯示特定狀態下所有程序的列表,請使用以下命令:
ps -eo state,pid,user,command | grep state
將“state”替換為您要檢視的狀態(例如,R表示正在執行,S表示休眠,Z表示殭屍)。
顯示所有具有特定優先順序的程序列表
要顯示所有具有特定優先順序的程序的列表,請使用以下命令:
ps -o pid,ppid,user,nice,cmd --sort=-nice
這將顯示按優先順序降序排列的所有程序的列表。
顯示所有具有特定CPU親緣性的程序列表
要顯示所有具有特定CPU親緣性的程序的列表,請使用以下命令:
ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm | grep <cpu>
將“<cpu>”替換為您要檢視其程序的CPU。
顯示所有使用特定埠的程序列表
要顯示所有使用特定埠的程序列表,請使用以下命令:
sudo lsof -i :port
將“port”替換為您要檢視其程序的埠號。
顯示所有以特定使用者身份執行的程序列表
要顯示所有以特定使用者身份執行的程序列表,請使用以下命令:
ps -U username -u username u
將“username”替換為您要檢視其程序的使用者名稱稱。
顯示特定目錄中所有正在執行的程序列表
要顯示特定目錄中所有正在執行的程序列表,請使用以下命令:
lsof +D /directory
將“/directory”替換為您要檢視其程序的目錄路徑。
顯示所有執行特定可執行檔案的程序列表
要顯示所有執行特定可執行檔案的程序列表,請使用以下命令:
ps -C executable_name
將“executable_name”替換為您要檢視其程序的可執行檔案的名稱。
顯示所有使用特定檔案的程序列表
要顯示所有使用特定檔案的程序列表,請使用以下命令:
lsof /path/to/file
將“/path/to/file”替換為您要檢視其程序的檔案路徑。
顯示所有具有特定環境變數的程序列表
要顯示所有具有特定環境變數的程序列表,請使用以下命令:
ps -eo pid,user,args | grep -E '^ *PID|^ *[0-9]+ .*VARNAME=VALUE'
將“VARNAME”替換為您要檢視其程序的環境變數的名稱,並將“VALUE”替換為其值。
顯示所有使用特定網路介面的程序列表
要顯示所有使用特定網路介面的程序列表,請使用以下命令:
sudo lsof -i -n -P | grep <interface>
將“<interface>”替換為您要檢視其程序的網路介面的名稱。
顯示所有具有特定使用者定義格式的程序列表
要顯示所有具有特定使用者定義格式的程序列表,請使用以下命令:
ps -eo pid,user,%cpu,%mem,command --sort=-%mem | head
這將顯示按記憶體使用率降序排列的所有程序的列表,並使用使用者定義的格式。
顯示所有具有特定記憶體地址的程序列表
要顯示所有具有特定記憶體地址的程序列表,請使用以下命令:
sudo pmap -x pid | grep address
將“pid”替換為您要檢視其記憶體地址的程序的ID,並將“address”替換為您要檢視的記憶體地址。
顯示所有具有特定使用者定義過濾器的程序列表
要顯示所有具有特定使用者定義過濾器的程序列表,請使用以下命令:
ps -eo pid,user,%cpu,%mem,command --sort=-%mem | awk '{if ($3 >= 10.0) print $0;}'
這將顯示所有使用超過10%的CPU和記憶體的程序列表,並使用使用者定義的過濾器。
顯示所有程序的樹狀檢視
要顯示所有程序的樹狀檢視,請使用以下命令:
pstree
這將顯示所有程序的分層樹狀檢視,其中父程序位於頂部,子程序位於下方。
結論
“ps”命令是用於監控和管理Linux系統中程序的強大工具。透過本文提供的示例,您可以輕鬆使用“ps”命令檢視有關正在執行的程序的資訊,過濾和排序輸出,以及執行各種其他操作。透過掌握“ps”命令,您可以提高Linux系統的效能和穩定性,並更有效地解決問題。
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP