如何检查端口是否繁忙或关闭?

如何检查端口是否繁忙或关闭?

我在 Ubuntu 12.04 LTS 上出现这个错误:

ChannelException: Failed to bind to: 0.0.0.0/0.0.0.0:6702

我需要帮助来检查问题出在哪里。

我可以检查端口是否繁忙或关闭吗?如果是,该怎么做?

这是我的/etc/hosts

127.0.0.1 localhost
127.0.1.1 ubuntu


# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters 

答案1

lsofman lsof)。

sudo lsof -i :6700

注意:真的读man lsof!我现在没有坐在 Linux 机器前。

答案2

您可以通过运行此命令来检查该端口是否正在使用。

sudo lsof -i :<Port Number>我使用 8080 作为示例,因为我在端口 6700 上没有运行任何程序,请将 8080 更改为您的端口号

sudo lsof -i :8080
COMMAND   PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
havp     1331 havp    3u  IPv4 3434363      0t0  TCP 192.168.1.127:http-alt (LISTEN)
havp    25061 havp    3u  IPv4 3434363      0t0  TCP 192.168.1.127:http-alt (LISTEN)
havp    25062 havp    3u  IPv4 3434363      0t0  TCP 192.168.1.127:http-alt (LISTEN)
havp    25067 havp    3u  IPv4 3434363      0t0  TCP 192.168.1.127:http-alt (LISTEN)
havp    25068 havp    3u  IPv4 3434363      0t0  TCP 192.168.1.127:http-alt (LISTEN)
havp    25086 havp    3u  IPv4 3434363      0t0  TCP 192.168.1.127:http-alt (LISTEN)

或使用此命令sudo netstat -tulnp | grep <port number>

neil@AVP:~$ netstat -tulnp | grep 8080
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 192.168.1.127:8080      0.0.0.0:*               LISTEN      - 

如果端口有 ,(LISTEN)则表示端口已打开。输出中未显示的任何端口均表示端口已关闭

移自@waltinator 的(未格式化的)评论:

我在使用它之前尝试使用 sudo lsof -i :6702,它是空的,然后当我使用它时,我得到了这个

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME  
java 3143 st 71u IPv6 12097 0t0 TCP *:6702 (LISTEN)  

相关内容