Linux系統(tǒng)下,利用ps命令結(jié)合管道符|和grep命令,可以高效過濾進(jìn)程。本文將介紹多種過濾規(guī)則,助您快速定位目標(biāo)進(jìn)程。
基礎(chǔ)過濾方法:
-
按進(jìn)程名稱過濾:
ps aux | grep process_name
此命令顯示所有名稱包含”process_name”的進(jìn)程。
-
按進(jìn)程狀態(tài)過濾:
ps aux | grep S
此命令顯示所有狀態(tài)為”S”(睡眠)的進(jìn)程。(注意:進(jìn)程狀態(tài)不止S一種,具體狀態(tài)可參考man ps)
-
按進(jìn)程所屬用戶過濾:
ps aux | grep username
此命令顯示所有屬于”username”用戶的進(jìn)程。
高級過濾方法:
-
按CPU使用率過濾: (需要–sort選項排序,方便查看)
ps aux --sort=-%cpu | grep 10%
此命令顯示CPU使用率超過10%的進(jìn)程。 -號表示降序排列。
-
按內(nèi)存使用率過濾: (需要–sort選項排序,方便查看)
ps aux --sort=-%mem | grep 200M
此命令顯示內(nèi)存使用率超過200MB的進(jìn)程。
-
組合過濾條件:
ps aux | grep 'process_name' | grep username | grep S
此命令顯示名稱包含”process_name”,屬于”username”用戶,且狀態(tài)為”S”的進(jìn)程。
避免grep自身進(jìn)程干擾:
grep命令本身也會作為進(jìn)程顯示在結(jié)果中。為了避免這種情況,請使用以下技巧:
ps aux | grep '[p]rocess_name'
通過在process_name前添加[p],可以有效排除grep自身進(jìn)程。
掌握以上方法,您可以靈活運用ps和grep命令,精準(zhǔn)過濾Linux系統(tǒng)中的進(jìn)程,方便系統(tǒng)管理和故障排查。