使用epoll时,如果在调用epoll_create之后,调用了fork创建子进程,那么父子进程虽然有各自epoll实例的副本,但是在内核中,它们引用的是同一个实例.子进程向自己的epoll实例添加.修改和删除文件描述符时,是可以影响到父进程的epoll_wait的.所以会发生意想不到的问题,分情况看一下: 1:向子进程中的epoll实例添加描述符,描述符事件触发后,也会影响到父进程的epoll实例,代码如下: #define MAXEVENTS 20 int listenfd; struct…