資源簡介
在linux中實現一個命令執行程序doit,它執行命令行參數中的命令,之后統計
1)命令執行占用的CPU時間(包括用戶態和系統態時間,以毫秒為單位),
2)命令執行的時間,
3)進程被搶占的次數,
4)進程主動放棄CPU的次數,
5)進程執行過程中發生缺頁的次數
代碼片段和文件信息
#include
#include
#include
#include
#include
#include
#include
void?printHelpInfo(){
?????printf(“命令執行程序doit,它執行命令行參數中的命令,之后統計:\n“);
?????printf(“1)命令執行占用的CPU時間(包括用戶態和系統態時間,以毫秒為單位),\n“);
?????printf(“2)命令執行的時間,\n“);
?????printf(“3)進程被搶占的次數,\n“);
?????printf(“4)進程主動放棄CPU的次數,\n“);
?????printf(“5)進程執行過程中發生缺頁的次數\n“);
?????printf(“命令格式:?doit?programName?[parameter1]?[parameter2]?..\n“?);
?????printf(“例如;:doit?ls?-l\n“);
}
extern?int?errno;
int?main(int?argc?char*argv[]){
?????printf(“輸入doit?-h?獲取幫助\n“);
????if(argc<2){
????????printHelpInfo();
????}else??if(strcmp(“-h“argv[1])==0){
?????????printHelpInfo();
????}else{
????????//準備命令參數
????????char?command[200];
????????strcpy(commandargv[1]);
????????int?i;
????????for(?i=2;i ????????????strcat(command“?“);
????????????strcat(commandargv[i]);
????????}
????????//獲取程序執行的時間
????????struct?timeval?startend;
????????gettimeo
評論
共有 條評論