exp_expectv在超时后返回很长时间

时间:2013-10-23 13:02:58

标签: c ipc expect

我在Linux平台上使用了期望库for C。我的意图是通过C程序从一台服务器到另一台服务器进行sftp。为此我创建了一个文件描述符

d_fd = exp_spawnv(commString, argv);

这里comString是一个包含字符串“sftp”的char指针,而argv是以NULL结尾的字符数组。然后我创建了一个FILE指针并将其与d_fd相关联。代码如下:

   FILE * d_fp = NULL;
   d_fp = fdopen(d_fd, "rw+");
   if(d_fp == NULL)
   {
       printf("unable to open FILE pointer");
       return;
   }
   if(setvbuf(d_fp, NULL, _IONBF, 0) != 0)
   {
       printf("unable to unbuffer the stream");
       return;
   }

重复调用这段代码,但是第二次没有工作。第三次失败超时发生.exp_timeout值为35但实际超时发生在~55分钟后。

int result = exp_expectv(d_fd, (exp_case*)SFTP_EXP_LOGIN); 

0 个答案:

没有答案