Java服务器停止侦听端口

时间:2015-07-14 16:44:40

标签: java linux sockets networking tcp

我的应用程序在启动时侦听端口31526。我注意到在许多运行它的服务器上突然没有任何迹象表明它已停止收听此端口。我肯定知道它曾经听过它,因为如果这个端口已被另一个进程占用,它就不会启动。

这发生在SuSE10SP3上,我发现了一些事情:

  1. 该端口仍然被系统占用,我可以连接到它并写入,但数据不会进入程序。
  2. 使用jstack我看到监听器线程正在运行。
  3. “sudo lsof -p | grep LISTEN”没有显示端口,但是“sudo netstat -anp”显示了它:
  4. tcp 0 0 0.0.0.0:31525 0.0.0.0:* LISTEN - tcp 0 0 0.0.0.0:31526 0.0.0.0:* LISTEN -

    我发现没有附加任何流程。端口31525也被我的应用程序使用,并且确实显示在上面的lsof中,但netstat仍然没有显示它的进程。

    1. 服务器主机上有许多CLOSE_WAIT连接,还有两个连接在服务器上处于ESTABLISHED状态,但在客户端处于FIN_WAIT1状态。
    2. 有人知道会导致这个问题的原因吗?

      由于

0 个答案:

没有答案