我需要测量我的一种算法的功耗,我正在使用powertop实用程序来实现此目的。但是,我需要能够从以预定义间隔显示的交互式 shell 列表中提取特定进程的功耗。
有人可以帮我完成这项任务吗?
提前谢谢。
"powertop -d" 不使用交互式 shell,因此您可以将其与 for、while 或其他此类 bash 结构一起使用。
一种方法是在使用 system() 命令编写的程序中以编程方式循环执行收集。
另一种方法是做同样的事情,但使用 bash shell 的 for/while/till 循环结构并将其管道到您想要的命令中。如果你想做复杂的解析,你可以编写自己的特殊程序,比如"powertop -d |my_parsing_and_display_program"。如果你想要简单的解析,你可以将输出通过管道传输到grep,awk或sed:
对于 i 在 1 2; 做 Powertop -D | sed -n '?bus/usb? p' ; 完成
你也可以用 grep 或 awk 代替 sed。 (是的,我是一个 sed 人。