陣列我不能完全確定我是否應該已經張貼在這裏,這,serverfault或Linux和UNIX,但...濾波器輸出和推過濾後的數據與慶典
我想在這裏做的是採取此命令的輸出:
ps -eo pid -eo ecpu -eo command | sort -k 2 -r | grep -v PID | grep -i frmweb
...和應用過濾器,它不僅着眼於正在使用CPU進程。 (> 0)
...然後取出剩下的內容並將PID(第一列)推入數組中。
陣列我不能完全確定我是否應該已經張貼在這裏,這,serverfault或Linux和UNIX,但...濾波器輸出和推過濾後的數據與慶典
我想在這裏做的是採取此命令的輸出:
ps -eo pid -eo ecpu -eo command | sort -k 2 -r | grep -v PID | grep -i frmweb
...和應用過濾器,它不僅着眼於正在使用CPU進程。 (> 0)
...然後取出剩下的內容並將PID(第一列)推入數組中。
要使進程ID中稱爲nonzero
一個bash數組:
nonzero=($(ps -eo pid -eo ecpu -eo command | sort -k 2 -r | awk '/frmweb/ && !/PID/ && $2+0>0{print $1}'))
awk
命令具有的condition {commands}
形式。這裏,條件由三個條件和-ED一起(&&
意味着邏輯和):
/frmweb/ && !/PID/ && $2+0>0
第一條件表示,行必須包含frmweb
。
第二要求它必須不包含PID
第三要求第二列中,通過在$2
表示awk
,是大於零。 Awk
可以做字符串和數字比較。儘管在這裏可能不需要,但使用如$2+0
中的加法,強制使用數字比較。
如果所有三個條件都滿足,所述第一列(進程ID)印刷經由:
print $1
注意awk
消除了對兩個grep
命令的需要。
array_of_pids=($(your-pipeline | awk '$2 > 0.0 {print $1}'))