gpt4 book ai didi

c++ - 如何写回Parent的管道?

转载 作者:行者123 更新时间:2023-11-30 17:38:31 24 4
gpt4 key购买 nike

假设我有以下代码。是否可以从 child 写回给 parent ?我可以通过同一个管道mypipe吗?我需要另一个等待函数吗?

int mypipe[2];
int i, pid;

pipe (mypipe);
value = fork ();
if (value == -1)
{
exit (0);
}
else if (value == 0)
{
read (mypipe[0], (char *) &i, sizeof (int));
cout << "i = " << i << endl;
exit (0);
}
else
{
i = 7;
write (mypipe[1], (char *) &i, sizeof (int));
wait (&pid);
}

最佳答案

管道是单向的。有1个写端和1个读端。如果您有多个进程(子进程和父进程)读取管道,则每个进程将读取哪些消息是未定义的。

是的,子级可以写入(通常是父级到子级的管道),但如果它随后转身并再次从管道中读取,那么在父级可以之前,它将读取自己的消息!

最好的选择是使用一对管道(每个方向一个)或双向 PF_LOCAL 套接字连接。

关于c++ - 如何写回Parent的管道?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22110096/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com