2014-11-27 4 views
1

내 알고리즘 중 하나의 전력 소비를 측정해야하고이 목적으로 powertop 유틸리티를 사용하고 있습니다. 그러나 미리 정의 된 간격으로 대화 형 셸에 표시된 목록에서 특정 프로세스의 전력 소비량을 추출 할 수 있어야합니다.우분투 파워 톱 도구에서 특정 프로세스의 전력 소비 추출하기

누군가이 작업을 도와 줄 수 있습니까?.

미리 감사드립니다.

+0

더 자세히 설명해주십시오. "powertop -d> my.log; grep my.log"와 같은 것을 사용하면 어떨까요? –

+0

나는 원하는 프로세스를 캡처하기 위해 grep을 시도했지만, powertop 결과를 표시하는 창은 대화 형 쉘이므로 "top"과 같은 명령으로 예상 한 결과를 제공하지 않습니다. 게다가 "powertop"항목은 주기적으로 업데이트되므로 데이터를 지속적으로 가져와 프로세스의 평균 전력 소비를 계산할 수 있어야합니다. grep 명령을 사용하더라도 이러한 연속적인 데이터를 얻지 못합니다. – userDtrm

답변

0

"powertop -d"는 for, while 또는 다른 bash 구문과 함께 사용할 수 있도록 대화 형 쉘을 사용하지 않습니다.

한 가지 방법은 시스템() 명령을 사용하여 작성하는 프로그램의 루프에서 프로그래밍 방식으로 컬렉션을 수행하는 것입니다.

또 다른 방법은 같은 일을하지만 bash 셸의 for/while/until 루핑 구문을 사용하여 원하는 명령으로 파이프하는 것입니다. "powertop -d | my_parsing_and_display_program"과 같이 복잡한 구문 분석을 원할 경우 자신 만의 특별한 프로그램을 작성할 수 있습니다. 간단한 파싱을 원한다면 출력을 grep, awk 또는 sed로 파이프 할 수 있습니다 :

in 1 2; powertop -d | sed -n '? 버스/usb? p '; done

또한 sed 대신 grep 또는 awk를 사용할 수도 있습니다. (예, 나는 sed 사람입니다.)