我需要一个 C 程序,它可以在作为参数传入的精确 CPU 秒数内执行。我需要这样一个程序来测试监控进程 CPU 使用率的代码。
例子:
busywait x
应该在我的处理器上运行 x 秒。
我需要一个 C 程序,它可以在作为参数传入的精确 CPU 秒数内执行。我需要这样一个程序来测试监控进程 CPU 使用率的代码。
例子:
busywait x
应该在我的处理器上运行 x 秒。
这是我为解决我的问题而编写的 C 程序。它不断检查时钟周期数,直到使用了正确的处理器秒数。
#include <stdio.h>
#include <time.h>
int main(int argc, char * argv[])
{
clock_t start, end;
double cpu_time_used;
int wait;
sscanf(argv[1], "%d", &wait);
start = clock();
end = clock();
while (((double) (end - start)) / CLOCKS_PER_SEC < wait)
{
end = clock();
}
}
我认为您可以输入sleep x
x 为秒的 shell。我只在 Mac 上测试了 bash,但我相信其他 unix 应该有同样的东西。