资源简介
在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
评论
共有 条评论