当前位置:  技术问答>Web服务器/前端 iis7站长之家

pipe 后用fork生成一个子进程, 子进程如何向父进程传递它的值

    来源: 互联网  发布时间:2016-10-04

    本文导语:  本帖最后由 purplepare 于 2010-10-06 20:16:32 编辑     我在程序中,pipe了一个管道,之后fork了一个子进程,在子进程中用execl(...)执行了另外的一个程序,从父进程向子进程通信的程序,我已经实现了,但现在的问题...

本帖最后由 purplepare 于 2010-10-06 20:16:32 编辑
    我在程序中,pipe了一个管道,之后fork了一个子进程,在子进程中用execl(...)执行了另外的一个程序,从父进程向子进程通信的程序,我已经实现了,但现在的问题是,子进程执行完的结果,我想传递到父进程中使用,就不知道该怎么编写程序了,请各位高人给具体点指教...


给已有的例子参考也行....

谢谢...

|
可以考虑使用输入/输出重定向
把被执行程序的标准输出重定向到管道,子进程中直接printf()就可以了
#include 
#include 
#include 
#include 

main()
{
        int fd[2];
        char buff[128] = {0};

        pipe(fd);
        if( fork() == 0 )
        {
                dup2(fd[0], 0);
                dup2(fd[1], 1);
                execlp("./testexe", "./testexe", 0);
        }
        else
        {
                read(fd[0], buff, sizeof(buff));
                printf("%sn", buff);
        }
}

|
int fd1[2], fd2[2];
...
pid = fork();
if (pid > 0)
{
    close(fd1[0]);
    close(fd2[1]);
    ...
}
else
{
    close(fd1[1]);
    close(fd2[0]);
    ...
}
     

|
进程间通信即可

|


那就用FIFO阿,不过你还是要能修改exec中程序的源码才可以。

|
很简单啊  建立一个pipe   子进程往里面写东西,父进程读出来就可以了  这个我实现过  就这么做

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.nio.channels类pipe的类成员方法: pipe定义及介绍
  • 请问,pipe 源码中,为何没有 pipe(...) 这个函数?
  • java命名空间java.nio.channels类pipe.sourcechannel的类成员方法: pipe.sourcechannel定义及介绍
  • 一个c程序运行的时候提示Broken pipe,这个Broken pipe是什么意思?
  • java命名空间java.nio.channels类pipe.sinkchannel的类成员方法: pipe.sinkchannel定义及介绍
  • pipe(a)了一次,又PIPE(a)了一次,是建立了两个管道,还是同一个?
  • java命名空间java.io类pipedinputstream的类成员方法: pipe_size定义及介绍
  • 请问,FIFO的读写是否有字节数限制,PIPE_BUF如何使用?
  • java命名空间java.nio.channels类pipe的类成员方法: sink定义及介绍
  • Pipes
  • java命名空间java.nio.channels类pipe的类成员方法: open定义及介绍
  • pipe是否需要锁定的问题
  • socket下调用write后出现:Broken pipe错误
  • 请问,pipe()这个管道建立函数在哪里实现的?
  • pipe的性能如何?主要指的是延时...
  • 如何设定pipe使用的buffer大小
  • Pipe Viewer
  • 请问关于pipe通信的问题
  • socket编程中的Broken pipe的问题
  • 关于pipe
  • linux 下pipe break 错误的修复


  • 站内导航:


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

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

    浙ICP备11055608号-3