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