萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux 查看運行進程與監聽服務完整指令:ps、netstat、ss

掌握進程與網路連線狀態是系統排錯基礎。本文整理 ps、netstat、ss 三大指令的實用參數組合與輸出解讀。

1. 查看所有進程

ps aux            # BSD 風格,顯示 USER、PID、%CPU、%MEM、VSZ、RSS、TTY、STAT、START、TIME、COMMAND
ps -ef            # System V 風格,顯示 UID、PID、PPID、C、STIME、TTY、TIME、CMD
ps -ef --forest   # 樹狀顯示父子關係

常用過濾:

ps aux | grep nginx
ps -C nginx -o pid,user,cmd,etime,%cpu,%mem

2. 查看監聽埠口與連線

netstat(傳統,net-tools 套件)

netstat -tulnp    # -t TCP、-u UDP、-l 監聽、-n 數字顯示、-p 進程資訊(需 root)
netstat -an       # 所有連線(含 ESTABLISHED、TIME_WAIT 等)

ss(iproute2,現代替代,更快更詳盡)

ss -tulnp         # 同 netstat -tulnp
ss -s             # 連線狀態摘要統計
ss -o state established '( dport = :80 or sport = :80 )'  # 篩選 HTTP 連線

3. 關閉不必要服務

  • systemd:systemctl disable --now service_name
  • SysVinit:chkconfig service_name off + service service_name stop
  • xinetd 管理的服務:編輯 /etc/xinetd.d/ 下對應檔案設 disable = yes,重載 systemctl reload xinetd。

4. 進階:找出佔用特定埠口的進程

ss -tlnp | grep :8080
lsof -i :8080
fuser 8080/tcp
copyright © 萬盛學電腦網 all rights reserved