2012-11-06 108 views
0

與Tomcat進程(PID:28899)使用netstat輸出如下:爲什麼netstat顯示Tomcat進程偵聽多個端口?

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端口?是否因爲8009和8005被tomcat的兩個子進程監聽,並且netstat只顯示父進程ID?

回答

2

Tomcat監聽幾個端口。 8005是關閉端口,8009是服務Apache服務器請求的連接器端口。

通常,只要打開多個服務器套接字,進程就可以根據需要監聽儘可能多的端口。在內部,很可能每個端口都將由其自己的線程處理,但即使這樣做對於select()服務調用和異步I/O也不是必需的。

相關問題