我想知道我们是否可以为关闭文件描述符创建一个变通方法/别名。含义,close(fd)应该在与fd(文件描述符)相关联的流内部执行某些操作。我们是否可以实现/提供close函数的功能而无需在文件描述符上实际使用close函数。
我希望在我不想关闭管道末端(使用pipe()函数创建)的情况下,但另一端不应该意识到这一点。管道的另一端应该感觉到另一端实际上是关闭的。
答案 0 :(得分:0)
也许您正在寻找shutdown
功能。但这用于全双工连接,以指示数据以一个方向结束。
也许可以关闭单向管道,以便从写端使用shutdown
进行写入?从未听说过这件事。
这将是以类似于关闭的方式操纵连接状态的最接近的事情,而不实际处理文件描述符。 (如果可以对这些对象进行该操作。)
你继续成为豚鼠。 ;)
答案 1 :(得分: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;
}