我想知道我们是否真的可以创建一个解决方法/别名来关闭文件描述符。意思是,close(fd) 应该在与 fd(文件描述符)关联的流内部做一些事情。我们能否在不实际使用文件描述符上的关闭函数的情况下获得/提供关闭函数的功能。
我希望在我不想关闭管道的写入端(使用 pipe() 函数创建)的情况下这样做,但另一端不应该知道这一点。管道的另一端应该感觉另一端实际上是封闭的。
也许您正在寻找该shutdown
功能。但这用于全双工连接以指示数据以一个方向结束。
也许可以关闭单向管道以shutdown
从写入端写入?从来没有听说过这样做。
这将是最接近以类似于关闭的方式操作连接状态的方法,而无需实际处理文件描述符。(如果可以对这些对象进行该操作。)
你继续做豚鼠。;)
“如果你创建一个与系统函数同名的外部可见函数,你的函数将被称为_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;
}