获取服务器正在侦听的端口号?

时间:2014-06-08 20:40:21

标签: linux port

我正在将MATLAB与COMSOL接口,COMSOL是一个科学软件,在这里作为我的计算服务器。

启动COMSOL后,默认开始端口为2036。如果端口忙,它会侦听端口2037,依此类推。然后,在MATLAB中,我必须指定端口号,以便MATLAB可以将自己连接到COSMOL。

问题是学校HPC是共享的,这意味着我不能总是得到端口2036.更糟糕的是,我实际上并不知道COMSOL当前正在监听哪个端口。 COMSOL没有为此提供解决方案。

所以我希望在shell / linux级别上有一个通用的方法,我可以得到COMSOL正在监听的端口号。

2 个答案:

答案 0 :(得分:1)

使用ps -ef | grep <process_name>查找COMSOL应用程序的进程ID。然后,运行:

netstat -anp | grep -w <process_id>

这将显示该进程正在使用的所有端口,您将能够看到它正在侦听的端口。

答案 1 :(得分:1)

我喜欢约翰的最佳答案,但是有什么可怕的事情:

for portnumber=2036:3000
     try
         mphstart(portnumber);
         break
     catch
         fprintf('\n continue');
     end
 end