当前位置:  技术问答>linux和unix

急: 代码那里写错了??dup2 execve写的执行命令的程序, 重定向标准输入、输出、标准错误,无法获取到fdisk 的命令输出。别的命令都可以。附代码

    来源: 互联网  发布时间:2016-05-20

    本文导语:  急: 代码那里写错了??dup2 execve写的执行命令的程序, 重定向标准输入、输出、标准错误,无法获取到fdisk 的命令输出。别的命令都可以。附代码 在 main  函数里面, 命令行代码可以换。 #include  #include  ...

急: 代码那里写错了??dup2 execve写的执行命令的程序, 重定向标准输入、输出、标准错误,无法获取到fdisk 的命令输出。别的命令都可以。附代码

在 main  函数里面, 命令行代码可以换。



#include 
#include 
#include 
#include 


#include 
#include 
#include 
 #include 


#define RESULT_BUFFER_SIZE 1024/*command result buffer size*/
#define COMMAND_BUFFER_SIZE 30/*command buffer size*/
#define WRITE 1
#define READ 0


#define MAX_ARGV_LEN 150

/*------excute command----*/
int HM_Eecute_Command(char* command,char  *inputParam[],char*outputStrs)
{
    
 
    int     iwait = 0;
    int     outStdPipe[2]; 
    int     inStdPipe[2]; 
    int     errStdPipe[2];
    int     pid;          
    
    int     howMany = 0;
   
    int     fatal;
   FILE* tmpfile ;
   FILE* testfile;
   FILE* myfile;
   FILE* childfile;
   int wlen = 0;
   int ret = 0;
   int errlen = 0;

char* str = NULL;
int len = 0;


str = malloc(10);
strcpy(str,"hello");

tmpfile = fopen("/root/2009.02.25/debug/creat01.txt","wb");



    /* first we create the pipes needed for stdout redirection */
    if (pipe(outStdPipe))
    {
        printf(("Pipe creation errorn"));
        return -1;
    }
    if (pipe(inStdPipe))
    {
        
        printf(("Pipe creation errorn"));
        return -1;
    }

   if (pipe(errStdPipe))
    {
        
        printf(("Pipe creation errorn"));
        return -1;
    }
    
    
   
    pid = fork();
    if (pid)
    { 
     /* this is the parent process */
     printf("begin----------parend pid-----------n");
        if (pid  0)
  {
   howMany = read(errStdPipe[READ], outputStrs, RESULT_BUFFER_SIZE);

       
if(howMany > 0)
{
testfile = fopen("/root/2009.02.25/debug/errfile.txt","wb");
ret = fwrite(errStdPipe,1,RESULT_BUFFER_SIZE,testfile);/*error*/
}
  }
  else
  {
    howMany = read(outStdPipe[READ], outputStrs, RESULT_BUFFER_SIZE);

       
if(howMany > 0)
{
testfile = fopen("/root/2009.02.25/debug/file.txt","wb");
ret = fwrite(outputStrs,1,RESULT_BUFFER_SIZE,testfile);/*success*/
}
else
if(howMany 

    
 
 

您可能感兴趣的文章:

  • 请问一些shell命令的源代码,比如cp 的源代码存放在什么目录中?
  • 如何查看linux任意命令的的源代码?
  • 请问VI要配置变色代码和自动补齐该有什么设置命令?
  • 谁有关于file命令的原理和代码的一些介绍?
  • 那里可以下载halt这个命令的原代码?
  • 请教关于diff命令,代码?
  • java运行windows的cmd命令简单代码
  • 如何找到linux下一些命令的代码,比如mv的?
  • linux下ping命令的源代码在哪个rpm包中 在线等
  • mount命令的源代码在哪?
  • top命令的原代码哪里能找到啊?
  • 如何得到Linux的系统命令源代码,比如ping,mount,ls等?
  • 急,如何找到linux下常用命令的实现代码,如ls,less,top等
  • 命令行中成功 ,脚本中失败的代码
  • 我如何在代码里通过调用"ping"命令得到它的exit code
  • 我想用emacs写代码,但是我只会用基本的命令
  • 在做FTP服务端,请问哪位有解析LIST命令的C语言代码?
  • 急求ubuntu的ps命令源代码
  • 请问在哪里可以找到linux的cp命令的源代码
  • 请问如何能得到dd命令的相关源代码?急!!100分奉上!!!
  • python字符串格式化输出及相关操作代码举例
  • 一个简单的转换输出的shell脚本代码
  • 我初学汇编,求一个简单的乘法代码,并且将结果输出到屏幕。最好将每条代码写上注释。
  • 自动输出类的字段值实用代码分享
  • HTML网页的Meta Refresh自动跳转方法介绍及Meta Refresh自动跳转代码示例 iis7站长之家
  • 这段代码怎么不能输出args?
  • 输出1000以内的素数的算法(实例代码)
  • Java利用for循环输出空心菱形的实例代码
  • jquery等宽输出文字插件的实例代码
  • php foreach正序倒序输出示例代码
  • 怎样让网页输出不解释html代码
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ STL标准模板库类String成员详细列表参考及示例代码
  • 有没有这样的软件:把一个不标准格式的JAVA原代码转换为具有标准(或比较标准)编码规范的代码。
  • HTML 标准颜色值实例代码表
  • 怎样将标准的C++代码转换成JAVA代码??
  • 何处可得 标准C语言函数源代码?
  • c# 动态添加非标准html控件的代码
  • 请问linux下怎么样查看c标准库的源代码的啊?
  • javascript横排竖排标准选项卡效果代码
  • javascript 添加到收藏夹和书签代码示例
  • 在JBuilder中,为什么编写的代码中,当代码出现关键字时,后面的部分代码就移位了,当在有关键字的那些代码行进行选择时,也会出现鼠标位
  • Python GUI编程:tkinter实现一个窗口并居中代码
  • 为什么两行代码间不加入其他代码就崩溃,而加入了日志代码后就不崩溃?
  • JSP中清空cookie代码参考
  • 在ubuntu8.10 新立得中安装anjuta,为什么没有代码提示功能,怎么做才有,还有自动代码补全和代码提示有什么区别,
  • Python获取网页编码的方法及示例代码
  • 到底怎么样的代码算是有效代码?请教了。。
  • HTML网页中的html body onload自动跳转方法介绍及自动跳转代码示例
  • 如果要研究源代码以提高自己,哪一个开放源代码的软件比较合适?
  • php通过socket_bind()设置IP地址代码示例
  • linux源代码的时间函数源代码
  • boost库lexical_cast不同用法代码参考
  • gdb的时候代码 next显示的代码乱了
  • 通过javascript库JQuery实现页面跳转功能代码
  • 源代码!源代码!
  • 使用libpcap读取tcpdump抓取的文件并解析c代码实例
  • 哪位会使用代码保护工具WingGuard来保护java代码?
  • HTML网页的Meta Refresh自动跳转方法介绍及Meta Refresh自动跳转代码示例
  • 如何得到C语言代码对应的汇编代码?
  • Linux c++虚函数(virtual function)简单用法示例代码
  • RedHat Linux是开放源代码的吗?如何能看见它的源代码,如何进行修改?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3