您需要检查linux下进程占用的端口,但您只知道进程的一般名称。例如,您需要检查hadoop的namenode在哪个端口上运行,以便在eclipse中连接。首先,使用ps命令查看进程的id:按如下方式复制代码:$psef|grepname,其中每行的第二个字段(将占用多行很长时间)是进程的id。当然,对于在java虚拟机中运行的进程,例如hadoop的守护进程,您可以直接使用jsp命令查看$jps|grepname,或者您已经知道进程的确切名称。您可以使用pidof查看$pidofname以查看进程id,然后使用netstat命令查看占用的端口:$netstatnap|greppid
只查看进程:psef|grep11345查看进程打开的文件:lsof-p11345查看内存分配:lcat/proc/11345/maps查看堆栈:pstack11345查看发出的系统调用:strace-p11345查看调用库函数:ltrace-p1134511345是进程号
这是个问题。这不容易。我想我不熟悉linux。为了给您一个建议,您可以使用netstat-ntlp|grepsshd查看所有受监视的ssh端口。然后写一个循环。依次抓取每个端口上的数据包。如果可以捕获数据包,则表示用户已登录到此端口。但很难知道是哪一个着陆了。另外,如果你知道你的ip地址,你可以搜索它。查看哪个端口可以捕获自己的ip数据包。那是港口。附言:这个尼玛太不切实际了。不建议这样做。听我说。)