掌握進程與網路連線狀態是系統排錯基礎。本文整理 ps、netstat、ss 三大指令的實用參數組合與輸出解讀。
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
netstat -tulnp # -t TCP、-u UDP、-l 監聽、-n 數字顯示、-p 進程資訊(需 root)
netstat -an # 所有連線(含 ESTABLISHED、TIME_WAIT 等)
ss -tulnp # 同 netstat -tulnp
ss -s # 連線狀態摘要統計
ss -o state established '( dport = :80 or sport = :80 )' # 篩選 HTTP 連線
systemctl disable --now service_namechkconfig service_name off + service service_name stop/etc/xinetd.d/ 下對應檔案設 disable = yes,重載 systemctl reload xinetd。ss -tlnp | grep :8080
lsof -i :8080
fuser 8080/tcp