0

我想知道我们是否真的可以创建一个解决方法/别名来关闭文件描述符。意思是,close(fd) 应该在与 fd(文件描述符)关联的流内部做一些事情。我们能否在不实际使用文件描述符上的关闭函数的情况下获得/提供关闭函数的功能。

我希望在我不想关闭管道的写入端(使用 pipe() 函数创建)的情况下这样做,但另一端不应该知道这一点。管道的另一端应该感觉另一端实际上是封闭的。

4

2 回答 2

0

也许您正在寻找该shutdown功能。但这用于全双工连接以指示数据以一个方向结束。

也许可以关闭单向管道以shutdown从写入端写入?从来没有听说过这样做。

这将是最接近以类似于关闭的方式操作连接状态的方法,而无需实际处理文件描述符。(如果可以对这些对象进行该操作。)

你继续做豚鼠。;)

于 2012-04-05T04:08:40.143 回答
0

“如果你创建一个与系统函数同名的外部可见函数,你的函数将被称为_instead_of_原始系统函数。”

#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;
}

从这里挑选

于 2012-04-05T05:02:57.807 回答