文件描述符子进程

时间:2017-04-06 05:36:18

标签: c pipe file-descriptor

我有两个程序 parent.c child1.c

#include <stdlib.h>
#include <stdio.h>  /* for printf */
#include <string.h> /* for strlen */
#include <unistd.h>

int main(int argc, char **argv) {
    int n;
    int fd[2];
    char buf[1025];
    char *data = "hello... this is sample data";

    pipe(fd);
    printf("%d-%d\n",fd[0],fd[1]);
    char *args[10];
    args[0]="./child1";
    args[1]=NULL;
    int pid=fork();
    if (pid==0)
    {

        close(fd[0]); 
        dup2(fd[1], 1); 
        close (fd[1]); 
        int i=execv("./child1",args);

    }
    else
    {
         close(fd1[0]); 
        write(fd[1], data, strlen(data));
        dup2(fd1[1], 1);
        close (fd1[1]); 

    }


}

在这里,我想使用文件data将数据descriptor(pipe)传递到 child1 child1.c 的程序应该是什么?

0 个答案:

没有答案