LoadRunner读取文件并验证

本文介绍了一个用于检查指定进程(如MobileEngine.exe)是否正在运行的脚本实现。该脚本通过调用系统的tasklist命令并将结果保存到文件中,然后读取此文件来判断进程是否处于运行状态。如果进程未运行,则输出错误信息并终止脚本。
 
 
 
 
checkprocess()
 {
 char command[1024];
 int i, total = 0;
 char buffer[12], ch;
 char *filename = lr_eval_string("C:\\tasklist_{pTime}.txt");
 long file_stream;
  
//Run a system command to open up a DOS prompt and tasklist
//Save it to a file
  
sprintf(command, "tasklist /FI \"IMAGENAME eq MobileEngine.exe\"
       /FI \"STATUS eq running\" /FO TABLE /NH > %s", filename);
system(command);
  
// open file and check for errors opening it.
  
if ((file_stream = fopen(filename, "r")) == NULL ) {
lr_error_message("Cannot open %s", filename);
 return -1;
 }
  
//read the file stream information - place in loop.
  
for(i=0; (i<NUM_CHARS) && (feof(file_stream) == 0); i++) {
     ch = fgetc(file_stream); /* Read in the next character */
     buffer[i] = ch; /* Place the new char at the end of the buffer */
 
  
/* Add null to end the buffer converting it to a string */
  
buffer[i] = NULL;
lr_output_message("First %d characters of file %s are \"%s\"",
     NUM_CHARS, filename, buffer);
  
if (fclose(file_stream)){
 lr_error_message("Error closing file %s", filename);
 };
  
// Now we either have something in the buffer or not.
// We are looking for the string "MobileEngine" in this case
// Either way, delete the temp file when done.
  
if (strcmp(buffer, "\nMobileEngine") != 0) {
 lr_error_message("The process is not running. Aborting Script...");
 sprintf(command, "DEL %s", filename );
 // lr_error_message("%s", command);
 system(command);
 return -1;
 }
 else{
 lr_output_message("The process is running. Continue...");
 sprintf(command, "DEL %s", filename );
 // lr_error_message("%s", command);
 system(command);
 };
  
return 0;
  
}
 
 
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值