2014-02-26 51 views
0

我無法獲得所有pid的CPU%使用率,而不知道任何程序名。所有pid的CPU使用率%

我覺得我很接近的解決方案,這是我迄今所做的:

for line in $(pgrep -f chrome); \ 
    do echo -n $line" - ";  \ 
    ps -p $line -o %cpu | sed -n 2p | sed 's/ //'; done 

在這個例子中,我只獲得所有鉻的PID。在下一步我希望所有正在執行的PID。

回答

0

只需使用top命令即可輕鬆完成此操作。

要由CPU百分比遞減順序,你可以使用top -o -cpu

+0

我猜OP知道這個命令的任何文件。 – maverik

+0

這個假設沒有任何基礎。他沒有提過一次。 – ktm5124

0

如果你不想使用出於某種原因,情侶我能想到這樣做的其他方式。

> ps -e -o "%p-%C" 

或者,如果你想要做它在腳本中,類似的信息(或者可能只是再次解析或檢查/proc/pid/stat CPU使用率)

#!/bin/bash 
shopt -s extglob 
for line in /proc/+([0-9]); do 
    echo -n "${line##*/}- " 
    ps -p "${line##*/}" -o %cpu | sed -n 2p | sed 's/ //' 
done 

  • shopt -s extglob匝在擴展文件globing中
  • +([0-9])個匹配含有1個或多個數字
  • ${line##*/}之前試紙的一切,包括最後/字符