我已经在 Glassfish 中部署了一个应用程序。我在打开的文件列表中看到“localhost:tram”:
java 30842 user 1589u IPv6 555599352 0t0 TCP localhost:57171->localhost:tram (CLOSE_WAIT)
java 30842 user 1590u IPv6 555600716 0t0 TCP localhost:57456->localhost:tram (CLOSE_WAIT)
java 30842 user 1591u IPv6 555602019 0t0 TCP localhost:57710->localhost:tram (CLOSE_WAIT)
java 30842 user 1592u IPv6 555603388 0t0 TCP localhost:57985->localhost:tram (CLOSE_WAIT)
java 30842 user 1593u IPv6 555606054 0t0 TCP localhost:58500->localhost:tram (CLOSE_WAIT)
“localhost:tram”消息是什么意思?
答案1
当你运行 lsof 时,你做了不是包含该-P
标志,因此它尝试查找每个端口号以将其转换为名称。这是通过函数调用完成的(getservbyport
)通过名称服务在 Linux 上通过/etc/nsswitch.conf
.通常的配置是将services
查找指向file
,这意味着 中的条目/etc/services
。
那么,您的 /etc/services 文件很可能包含以下条目:
tram 4567/tcp # TRAM
...您可以通过多种方式确认,其中之一是:grep ^tram /etc/services
您可能会发现使用起来不那么混乱,lsof -P ...
因为这会将端口号保留为数字。主机名的相应标志(在这里,您只有localhost
)是-n
。
端口号有一个中央注册表,互联网号码分配机构,即服务名称和传输协议端口号注册表,您可以在其中搜索4567。