12
我需要記錄套接字的使用情況,並且我寫了一個LD_PRELOAD庫。如何判斷文件句柄是否是套接字?
問題是當我重寫read()和write()比普通文件操作也被記錄(當然)。
那麼如何區分普通文件描述符和套接字描述符呢?
我需要記錄套接字的使用情況,並且我寫了一個LD_PRELOAD庫。如何判斷文件句柄是否是套接字?
問題是當我重寫read()和write()比普通文件操作也被記錄(當然)。
那麼如何區分普通文件描述符和套接字描述符呢?
在描述符上調用fstat
,並在結果上使用S_ISSOCK宏。
struct stat statbuf;
fstat(fd, &statbuf);
S_ISSOCK(statbuf.st_mode);
太棒了!非常感謝你! – netom 2010-10-17 10:56:23