2017-02-20 34 views
0

我有一个运行在Red hat服务器上的Abinitio进程。确定哪个unix端口绑定到进程

该进程基本上是一个web服务,它绑定到正在运行的unix服务器上的一个端口。 前端向这个UNIX PORT发送请求,然后由abinitio进程读取并进一步处理。

如何识别进程是否绑定到unix端口?

我每周一(周末)都会面临奇怪的情况,当我尝试通过SOAP访问web服务时,出现套接字超时异常。 为了解决这个问题,我必须停止并开始这个过程。

我想识别哪些所有套接字没有响应,给定端口列表。

回答

0

由于这是在UNIX,lsof -i :port_number会给你一个什么样的过程,势必给定端口

0

netstat的-lnp将列出旁边的每个监听端口的PID和进程名的详细信息。这将在Linux下工作,但不是所有其他(如AIX)。如果只需要TCP,请添加-t。

[email protected]:/# netstat -lnpt 
Active Internet connections (only servers) 
Proto Recv-Q Send-Q Local Address  Foreign Address  State  PID/Program name 
tcp6  0  0 127.0.0.1:8005  :::*     LISTEN  1/java 
tcp6  0  0 :::8009    :::*     LISTEN  1/java 
tcp6  0  0 :::8080    :::*     LISTEN  1/java 
+0

如果响应没有提及任何过程,意味着什么。听完之后我收到' - '。我收到了与netstat -nlp命令相同的响应,对于这种情况,一个用于端口,我能够接收响应,另一个通过SOAP接收到超时socketException: – NishantM

+0

我刚刚在Ubuntu中检查并获得了预期的结果输出在LISTEN旁边,我将编辑我的答案以显示输出结果。你在使用什么类型的Linux - 正如我所说的,它不适用于所有的派生类型? – cjuette

0

使用netstat命令。

netstat -anp | grep pid

您也可以使用nmap来检查哪些端口正在侦听机器。

nmap -sT -O machine_ip