2017-02-20 39 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