无法远程写入.spp文件

时间:2012-05-10 09:58:45

标签: c linux networking network-programming

我不知道是否有人可以帮我解决我的问题,因为我不知道这是编程问题还是网络问题。但是,我会解释整个诉讼 我正在研究网状测试平台,我想运行由某些人开发的安抚奶嘴协议

问题是,当我尝试使用perl脚本“run_probing.pl”在测试平台节点上运行探测(这是运行安抚奶嘴的配置的一部分)时, .spp 未创建包含结果的文件,但是当我使用命令./probing –a 10.1.1.26 -i 26在任何两个节点上手动运行探测命令时,我得到了 .spp < / em>文件 使用pssh服务从perl脚本发送的命令。我使用命令ps aux检查进程ID,然后我找到了命令

  $cmd ="/usr/bin/pssh -p 1 -t 120 -l amr -A -h temp_overlay.crap \"/map/more_pacifier/probing -a $allusnips[$sitecount] -i $allusnipids[$sitecount] > /dev/null 2>&1 &  \" "; 

在后台为两个设备执行,因为该命令的进程ID在进程ID列表中,这意味着pssh服务本身没有问题。但是我仍然没有在{em> probing.c 代码中指定的/map/more_pacifier目录中获得任何.spp文件。

对于probing.c代码,由于它很长(大约400行),所以我将把对应的部分放在.spp文件中写入:

FILE *fl;
 if(argc < 3) {
usage();
exit(-1);
}
while ((ch = getopt(argc, argv, "h:a:i:d:")) != -1)
 switch (ch) {
 case 'h':
   help();
   exit(0);
 case 'a':
   inaddr = inet_addr(optarg);  // IP Address
   memset((char*) &myip, 0x0, sizeof(myip));
   bcopy((char*) &inaddr, (char*) &myip, sizeof(inaddr));
   strcpy(myipstr, inet_ntoa(myip));
   fprintf(stderr, "My IP is %s, %s\n", inet_ntoa(myip), myipstr);
  break;
 case 'i':
  myipid = atoi(optarg);
  fprintf(stderr, "My ID is %d\n", myipid);
  break;
default:
  usage();
  exit(-1);
}

sprintf(lossfile, "/map/more_pacifier/%d.spp", myipid);
fl = fopen(lossfile, "w");

 for(i=0; i<NUMNODES; i++)
  ND.NHBR_Table[i].recvcount = 0;
 ND.numProbePktsSent = 0;

通过run_probing.pl脚本运行命令时,我不知道为什么我没有获取 .spp文件

是否具有此文件的权限访问权限?但我使用chmod 755命令来授予用户完全访问权限。

我将非常感谢你的帮助,这种奇怪的行为浪费了很多时间而没有任何结果:(

0 个答案:

没有答案