Razones y Soluciones para Puertos Ocupados

Al ejecutar el software o proyecto, ocurren los siguientes problemas:

panic: blademaster: listen tcp: 0.0.0.0:8080: listen tcp 0.0.0.0:8080: bind: Se intentó acceder a un socket de una manera prohibida por sus permisos de acceso.

sistema de ventanas

El primer caso: ocupado por otros programas

1. Primero determinar quién está ocupando el puerto.

1) Use Ejecutar para abrir cmd , ingrese directamente netstat -ano, presione Entrar, y el más a la derecha corresponde a PID = 1328.

 Nota: No se recomienda usar este comando, hay demasiados puertos para ver

2) Use Ejecutar para abrir cmd , ingrese directamente el siguiente comando y presione Entrar. Verificar el PID correspondiente al puerto ocupado .

netstat -aon | find "8080" o netstat -aon | grep "8080" # es para ver la ocupación de un solo puerto de 8080

**************************************************** **************************************************** **

netstat -aon | findstr "80" o netstat -aon | findstr :80 # es para ver una serie de puertos incluyendo 80, por ejemplo 800,8080

2. Para ver el proceso correspondiente al PID, ingrese tasklist|findstr "9880" para ver el proceso que ocupa el puerto

lista de tareas|findstr "9880"

De lo anterior se puede ver que el programa "vmware-hostd.exe" ocupa este puerto

 1) Matar el proceso de acuerdo con el número de proceso

taskkill -f -pid 9880 或 taskkill /f /t /im vmware-hostd.exe

2) Encuentre el proceso correspondiente en el administrador de tareas y finalice el proceso directamente

Caso 2: Listado como puerto reservado por el sistema

Indica que el puerto está ocupado, pero no se encuentra el proceso ocupado.
La razón es que Windows reserva algunos puertos que se encuentran en la secuencia de puertos reservados por el sistema.

Use el siguiente comando para ver

interfaz netsh ipv4 mostrar protocolo de rango de puerto excluido = tcp

Posibles razones por las que Windows reserva estos puertos:

  • Bloqueado por Microsoft por encontrar actividad de virus
  • Después de instalar la actualización de Windows, la lista de puertos reservados ha cambiado
  • Habilitar la función Hyper-V

Hay tres soluciones:

  1. cambiar a otro puerto
  2. Apague la función Hyper-V (es posible que aún esté ocupada después de que se apague)
  3. Establecer estos puertos como exclusiones de puertos administrados

netsh int ipv4 agregue el protocolo de rango de puertos excluidos = tcp startport = 8000 número de puertos = 300

Después de ejecutar este comando, reinicie y vuelva a consultar los puertos reservados, encontrará que habrá un * al final de la lista de puertos, y Hyper-V no utilizará estos puertos en este momento.

sistema linux

1. Ver el uso del puerto

netstat -tln //verificar todo

netstat -tln | grep 80 //Comprueba solo el uso del puerto 80

netstat -aptn //Ver todos los números de puerto abiertos bajo el usuario actual

netstat -nupl //Ver toda la información del número de puerto usando el protocolo udp en el sistema

netstat -ntpl //Ver la información del número de puerto usando el protocolo tcp en el sistema

2. Verifique a qué programa pertenece el puerto. ¿Qué proceso ocupa el puerto?

lsof -i :80

3. Matar el proceso que ocupa el puerto

matar -9 identificación del proceso

Supongo que te gusta

Origin blog.csdn.net/fbbqt/article/details/126928487
Recomendado
Clasificación