我有一个在端口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会这样做吗?
答案 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