如何查找使用端口的java进程

时间:2015-04-07 12:28:03

标签: macos network-programming

我有一个在端口4444上运行的小型Java ServerSocket应用程序。我想在我的OSX终端中看到使用该端口的进程,我首先考虑的是执行以下操作:

netstat -a | grep 4444但是,这并没有给我任何结果。

lsof -i :4444我得到以下(正确)结果:

COMMAND   PID        USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
java    66389 admin   18u  IPv6 0x1ae123a422ebe931      0t0  TCP *:krb524 (LISTEN)

有人可以告诉我为什么netstat没有显示端口但是lsof会这样做吗?

1 个答案:

答案 0 :(得分:2)

Netstat可能会列出您的任务,但使用别名“krb524”而不是端口号。这些别名列在/etc/services中。

$ grep 4444 /etc/services
krb524          4444/udp    # KRB524
krb524          4444/tcp    # KRB524

要使用netstat查看端口号,请添加-n参数。

netstat -a -n | grep 4444