我正在将MATLAB与COMSOL接口,COMSOL是一个科学软件,在这里作为我的计算服务器。
启动COMSOL后,默认开始端口为2036。如果端口忙,它会侦听端口2037,依此类推。然后,在MATLAB中,我必须指定端口号,以便MATLAB可以将自己连接到COSMOL。
问题是学校HPC是共享的,这意味着我不能总是得到端口2036.更糟糕的是,我实际上并不知道COMSOL当前正在监听哪个端口。 COMSOL没有为此提供解决方案。
所以我希望在shell / linux级别上有一个通用的方法,我可以得到COMSOL正在监听的端口号。
答案 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