如何获取描述符类型?我正在使用epoll监视许多描述符,如套接字,定时器和信号。我看到它可以使用fstat,但模式只说了一些关于套接字和管道的东西。 fstat manpage。是否有一个特殊的功能来识别描述符?
答案 0 :(得分:1)
我认为没有任何简单或统一的方式来做你要求的事情。命令lsof] 1设法确定此信息,因此您可能需要查看该代码以查看它们正在执行的操作。
关闭我的头顶以确定描述符是否是可以使用getsockopt(2)的套接字。如果对getsockopt的调用失败并且errno == ENOTSOCK,那么您的描述符不是套接字。同样,您可以使用isatty(3)来确定描述符是否属于串行端口或终端。