2
我有一个在端口4444上运行的小型Java ServerSocket应用程序。我想看看在我的OSX终端中使用该端口的进程,我的第一个想法是做如下:如何找到正在使用端口的java进程
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的呢?
有趣的 - 你知道它为什么使用别名吗? – jcm
我无法进入netstat作者的头脑,但我认为人们会喜欢用漂亮的字符串描述来代替数字运行的东西。 http://tldp.org/LDP/nag2/x-087-2-iface.netstat.html自从发明netstat以来,出现了一些“众所周知”的服务,所以开发人员很难选择一个尚未在'/ etc/services'中注册的端口,使得这个符号显示的效果不如以前那么有用。 – ericzundel