首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Linux 查看進程除 ps 外的命令:netstat、ss、lsof、pgrep、top/htop

     編輯:程式設計疑難解答

核心命令對比

命令主要用途查看 Tomcat 典型用法優點
netstat網絡連接/監聽端口/路由表netstat -ntlp | grep 8080 (查監聽 8080 端口的進程 PID/名稱)經典、廣泛預裝、顯示網絡狀態
ss現代替代 netstat,更快、信息更豐富ss -ntlp | grep 8080性能更好、支持過濾表達式、內核直接讀取
lsof列出打開文件/端口/設備lsof -i :8080 (查佔用 8080 端口的進程詳情)功能最強、顯示進程用戶、命令、FD 類型
pgrep按名稱/模式查進程 PIDpgrep -f tomcat 或 pgrep -f java.*catalina輕量、輸出純 PID、腳本友好
pidof查指定程序名的 PIDpidof java (需知確切進程名)極簡、快
top / htop動態進程監控 (CPU/內存/時間)top -p $(pgrep -f tomcat) 監控指定 Tomcat 進程實時資源佔用、交互式管理
/proc 文件系統內核暴露進程信息ls /proc/$(pgrep -f tomcat)/fd 查文件描述符最底層、無依賴、可編程讀取
systemctl / service系統服務管理systemctl status tomcat (若 Tomcat 注冊為服務)標準服務狀態、日誌、啟停控制

Tomcat 專用排查組合拳


# 1. 確認 Tomcat 進程是否存在
pgrep -f "catalina"  # 或 pgrep -f "tomcat"
# 輸出 PID,如 12345

# 2. 確認端口監聽
ss -ntlp | grep 8080
# 或 netstat -ntlp | grep 8080
# 輸出: LISTEN 0 100 *:8080 *:* users:(("java",pid=12345,fd=...))

# 3. 查看進程資源佔用
top -p 12345
# 或 htop -p 12345 (更友好)

# 4. 查看進程打開的文件/連接
lsof -p 12345
# 重點看 TCP 連接、JAR 文件、日志文件句柄

# 5. 若 Tomcat 註冊為 systemd 服務
systemctl status tomcat
journalctl -u tomcat -f  # 實時日誌

推薦現代工具

  • ss 替代 netstat (iproute2 套件,現代 Linux 默認安裝)。
  • htop 替代 top (交互式、彩色、樹狀、可滾動、支持鼠標)。
  • fd/ripgrep (rg) 替代 find/grep (查找配置/日誌極快)。

總結

除 ps 外,查看 Tomcat 進程最實用組合:
pgrep -f catalina (拿 PID) → ss -ntlp | grep 8080 (驗證端口) → top -p PID / htop -p PID (看資源) → lsof -p PID (看文件/連接)。
若註冊為服務,**systemctl status tomcat 一條龍搞定**。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved