O erro de soquete 48 é um erro do Python que é acionado quando o processo tenta se ligar a uma porta que já está em uso.
Servidores
O que causa o erro “socket.error: [Errno 48] Address already in use”?
Após uma breve pesquisa, descobrimos que as causas são:
- Processo vinculado à porta: Sempre que um processo é criado no servidor, uma porta é usada por ele para se comunicar com a internet. O porto é como um host que pode entreter um hóspede de cada vez. No entanto, se você não especificar uma porta, o servidor apenas a criará na porta padrão. Na próxima vez que você criar um processo, uma porta deverá ser especificada porque a porta padrão já está em uso.
Solução 1: Especificando o número da porta
O erro é principalmente acionado quando uma pessoa tenta vincular um processo específico à porta padrão e a porta padrão já está vinculada a um processo diferente. Portanto, nesta etapa, estaremos especificando a porta na qual o processo deve ser limitado.
- Provavelmente, você está usando o seguinte comando para criar um processo.
$ python -m SimpleHTTPServer
- Em vez disso, use este comando para criar um processo.
$ python -m SimpleHTTPServer (número da porta)
- Aguarde a criação do processo e verifique se o problema persiste.
Solução 2: Liberando o Porto
Se o porta já estiver em uso por um processo diferente, o novo processo não será capaz de funcionar nessa porta. Portanto, nesta etapa, estaremos liberando a porta encerrando o processo anterior e executando o novo. Por isso:
- Use o comando a seguir para listar vários processos usando uma porta específica.
$ ps -fA | grep python
- O argumento do comando será semelhante às linhas a seguir.
601 88234 12788 0 21:53 ttys000 0: 00.16 python -m SimpleHTTPServer
- Fora isso, o código de processo que usaremos para matar é “88234”.
- Use o seguinte comando para encerrar o processo.
matar 88234
Como alternativa, você pode usar o seguinte comando para eliminá-lo.
sudo kill -9 PID
- Agora você pode vincular o processo a esta porta usando o seguinte comando.
$ python -m SimpleHTTPServer (número da porta)
- O processo agora será criado.
Solução 3: reiniciando o Raspberry Pi (somente para o Raspberry Pi)
Você pode se livrar deste erro em Raspberry Pi reiniciando o Raspberry Pi ou eliminando o shell do terminal. O Raspberry Pi às vezes não consegue matar os processos automaticamente e dispara esse erro por causa dos processos anteriores já em execução nas portas.
1 minuto lido