Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 是否有一种方法可以解决使用管道函数关闭文件描述符的问题_C_Linux_Pipe - Fatal编程技术网

C 是否有一种方法可以解决使用管道函数关闭文件描述符的问题

C 是否有一种方法可以解决使用管道函数关闭文件描述符的问题,c,linux,pipe,C,Linux,Pipe,我想知道我们是否可以为关闭文件描述符创建一个变通方法/别名。也就是说,closefd应该在与fd文件描述符关联的流内部执行某些操作。我们可以在不实际使用文件描述符上的close函数的情况下实现/提供close函数的功能吗 我不想关闭使用管道函数创建的管道的写入端,但另一端不应该意识到这一点。管道的另一端应该感觉到另一端实际上是关闭的。也许您正在寻找关闭功能。但这用于全双工连接,以指示数据以一个方向结束 也许可以通过从写入端关闭来关闭单向管道进行写入?从没听说过有人这样做 这最接近于以类似于关闭的

我想知道我们是否可以为关闭文件描述符创建一个变通方法/别名。也就是说,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:我们可以在管道上使用关机功能吗???正如我们的一位朋友提到的,它不能与管道一起使用