gpt4 book ai didi

c - C 中 close(fd) 的反义词是什么?

转载 作者:太空宇宙 更新时间:2023-11-04 00:54:21 24 4
gpt4 key购买 nike

我正在尝试制作一个迷你外壳,其中的命令通过管道传递给彼此。在我做的代码中的某些点:

close(1) //closing stdout

close(0) //closing stdin

但是稍后我要进行 fork ,所以我希望我的新子进程重置所有内容。那么我将如何:

*function_name_here*(1) //reopening stdout

*function_name_here*(0) //reopening stdin

最佳答案

如果您使用的是 UNIX 类型的系统(如果您正在调用 fork,您很可能),通常可以执行以下两种操作之一。

首先是打开 /dev/tty,这将使您能够访问您的终端设备(假设终端设备是您想要的而不是原始文件句柄)。

第二个是在关闭之前复制那个文件句柄,这样你就有了一个可用的副本。然后,您可以使用 dup2 将其取回。 Linux 的详细信息 here ,或者您也可以执行 man dupman dup2

关于c - C 中 close(fd) 的反义词是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7866039/

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