linux 检测端口是否被占用
在Linux中,可以使用以下命令来检测端口是否被占用:
sudo lsof -i :端口号
其中,sudo是以管理员权限运行命令,lsof是用来列出当前系统打开的文件的工具,-i表示只显示网络相关的文件,端口号是要检测的端口号。
如果端口被占用,该命令会返回占用该端口的进程和进程ID。如果端口未被占用,则不会返回任何信息。
如果没有安装lsof命令,可以使用以下命令进行安装:
plaintext
Copy code
sudo apt-get install lsof
或者
plaintext
Copy code
sudo yum install lsof
header-icon
python里面检测端口是否被占用
header-icon
在Python中,可以使用socket模块来检测端口是否被占用。具体代码如下:
python
Copy code
import socket
def check_port_in_use(port):
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
# 设置超时时间为1秒钟
s.settimeout(1)
# 尝试连接该端口
result = s.connect_ex((‘localhost’, port))
if result == 0:
print(f”Port {port} is in use”)
return True
else:
print(f”Port {port} is not in use”)
return False
其中,socket.AF_INET表示使用IPv4协议,socket.SOCK_STREAM表示使用TCP协议。s.connect_ex((‘localhost’, port))方法用于尝试连接指定端口,如果端口被占用,则返回0,否则返回错误码。
调用该函数,传入要检测的端口号即可,例如:
python
check_port_in_use(8080)
如果该端口被占用,则返回Port 8080 is in use,否则返回Port 8080 is not in use。