如何判断文件句柄是否为套接字?

16

我需要记录套接字的使用情况,并编写了一个LD_PRELOAD库。

问题在于,当我覆盖read()和write()时,普通文件操作也会被记录(当然)。

那么我如何区分普通文件描述符和套接字描述符?

1个回答

34

调用描述符上的fstat函数并在结果上使用S_ISSOCK宏。

struct stat statbuf;
fstat(fd, &statbuf);
S_ISSOCK(statbuf.st_mode);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接