我有两个程序 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 的程序应该是什么?