資源簡介
在linux中實現一個命令執行程序doit,它執行命令行參數中的命令,之后統計
1)命令執行占用的CPU時間(包括用戶態和系統態時間,以毫秒為單位),
2)命令執行的時間,
3)進程被搶占的次數,
4)進程主動放棄CPU的次數,
5)進程執行過程中發生缺頁的次數
代碼片段和文件信息
/*?=====================================================================================
?*???????Filename:??doit.c
?*????Description:??統計命令執行所使用的資源
?*????????Created:??2010年11月15日?12時53分43秒
?*???????Compiler:??gcc
?*?????????Author:??xiangxw?xiangxw5689@126.com
?*????????Company:??scut
?*?===================================================================================*/
#include
#include
#include
#include
#include
#include
#include
int?main?(?int?argc?char?*argv[]?)
{
char*?cmd_argv[argc];//cmd_argv為要執行的命令
struct?rusage?resource_usage;//存儲測試結果的結構體
struct?timeval?start_time;//命令開始執行的時間
struct?timeval?end_time;??//命令結束的時間
pid_t?pid;
int?i;
for(i=0;i cmd_argv[i]=argv[i+1];
}
cmd_argv[argc-1]=(char?*)0;
printf(“********?test?*********\n“);
for(i=0;i printf(“%s\n“cmd_argv[i]);
}
pid=fork();//創建子進程
gettimeofday(&start_timeNULL);
if(pid==0){
if(execvp(cmd_argv[0]cmd_argv)!=0){
printf(“function?execv
評論
共有 條評論