【发布时间】:2014-02-17 06:58:05
【问题描述】:
我正在使用管道将一组数字发送到另一个进程以对其进行排序。到目前为止,我能够使用 fdopen 从另一个进程中获取结果。但是,我不知道如何将管道中的数据作为标准输入发送给另一个进程。
这是我的代码:
int main ()
{
int fd[2], i, val;
pid_t child;
char file[10];
FILE *f;
pipe(fd);
child = fork();
if (child == 0)
{
close(fd[1]);
dup2(fd[0], STDIN_FILENO);
close(fd[0]);
execl("sort", "sort", NULL);
}
else
{
close(fd[0]);
printf ("BEFORE\n");
for (i = 100; i < 110; i++)
{
write(fd[1], &i, sizeof (int));
printf ("%d\n", i);
}
close(fd[1]);
wait(NULL);
}
}
顺便说一句,其他进程如何获得输入?扫描?
【问题讨论】: