2014-02-26 3 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 명령만으로 쉽게 수행 할 수 있습니다.

당신이 어떤 이유로 을 사용하지 않으려면, 당신은 top -o -cpu

+0

는 것 같아요 영업 이익이 명령에 대해 알고 마지막 / 문자를 포함한 모든 파일을. – maverik

+0

이 가정에 대한 근거는 없습니다. 그는 한 번 언급하지 않았다. – ktm5124

0

를 사용할 수있는 CPU 비율 (내림차순)으로 주문하려면, 내가이 일을 생각할 수있는 다른 방법의 커플.

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

또는 스크립트에서 그것을 원한다면,

#!/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 

(또는 단지 다시 을 구문 분석 또는 CPU 사용에 대한 /proc/pid/stat을 확인할 수 있습니다) 같은

  • shopt -s extglob 턴 확장 파일 글 로빙에 대해서
  • +([0-9]) 일치
  • ${line##*/} 전에 모든 것을 스트립 1 개 이상의 숫자
  • 을 포함하고