C 是否有一种方法可以解决使用管道函数关闭文件描述符的问题
我想知道我们是否可以为关闭文件描述符创建一个变通方法/别名。也就是说,closefd应该在与fd文件描述符关联的流内部执行某些操作。我们可以在不实际使用文件描述符上的close函数的情况下实现/提供close函数的功能吗C 是否有一种方法可以解决使用管道函数关闭文件描述符的问题,c,linux,pipe,C,Linux,Pipe,我想知道我们是否可以为关闭文件描述符创建一个变通方法/别名。也就是说,closefd应该在与fd文件描述符关联的流内部执行某些操作。我们可以在不实际使用文件描述符上的close函数的情况下实现/提供close函数的功能吗 我不想关闭使用管道函数创建的管道的写入端,但另一端不应该意识到这一点。管道的另一端应该感觉到另一端实际上是关闭的。也许您正在寻找关闭功能。但这用于全双工连接,以指示数据以一个方向结束 也许可以通过从写入端关闭来关闭单向管道进行写入?从没听说过有人这样做 这最接近于以类似于关闭的
我不想关闭使用管道函数创建的管道的写入端,但另一端不应该意识到这一点。管道的另一端应该感觉到另一端实际上是关闭的。也许您正在寻找关闭功能。但这用于全双工连接,以指示数据以一个方向结束 也许可以通过从写入端关闭来关闭单向管道进行写入?从没听说过有人这样做 这最接近于以类似于关闭的方式操纵连接状态,而不实际处理文件描述符。如果可以对这些对象执行该操作
你去做一只豚鼠吧 如果使用相同的名称创建外部可见的函数 作为一个系统函数,您的函数将被调用_而不是u 原始系统功能
#include<stdio.h>
int open(const char *p,int f) {
printf("we are in our open()\n");
}
int close() {
printf("we are in our close()\n");
}
main() {
open("test",1);
close();
return 0;
}
您能解释一下为什么需要这样做吗?关机操作是在套接字上进行的,而不是在管道上。@kaz:我们可以在管道上使用关机功能吗???正如我们的一位朋友提到的,它不能与管道一起使用