为什么netstat显示Tomcat进程监听多个端口?

时间:2012-11-06 20:21:04

标签: tomcat netstat

tomcat进程的netstat输出(pid:28899)如下:

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:8009            0.0.0.0:*               LISTEN      28899/java      
....
tcp        0      0 0.0.0.0:8000            0.0.0.0:*               LISTEN      28899/java        
....
tcp        0      0 127.0.0.1:8005          0.0.0.0:*               LISTEN      28899/java 

那么为什么一个进程可以侦听三个tcp端口呢?是因为tomcat和netstat的两个子进程监听8009和8005只显示父进程ID吗?

1 个答案:

答案 0 :(得分:2)

Tomcat侦听多个端口。 8005是关闭端口,8009是用于处理来自Apache服务器的请求的连接器端口。

通常,只需打开多个服务器套接字,进程就可以侦听任意数量的端口。在内部,每个端口很可能由其自己的线程处理,但即使对于select()服务调用和异步I / O也不是必需的。