Ontem, no trabalho, eu fui tentar subir um serviço localmente, no Macbook que eles deram.

O serviço roda na porta 5000, então eu fui tentar rodá-lo. Para minha surpresa, apareceu um erro assim (não vou botar ele aqui porque eu não quero ser processado):

Error: listen EADDRINUSE: address already in use :::5000

Isso significa que, obviamente, a porta 5000 está bloqueada.

Eu e o meu líder ficamos uns 15 minutos tentando descobrir o que era. E era muito simples

Era um serviço do AirPlay que rodava nessa porta. O AirPlay é um serviço de compartilhamento da Apple, então provavelmente a Apple deixa isso ativo por padrão, porque ela acha que você tem tudo compatível com esse protocolo.

O serviço fica escutando na porta 5000

$ lsof -i :5000

COMMAND    PID      USER   FD TYPE            DEVICE SIZE/OFF NODE NAME
ControlCe 1338 arthurmco  18u IPv4 0xdd3dfcad86ca845      0t0  TCP *:commplex-main (LISTEN)
ControlCe 1338 arthurmco  19u IPv6 0xdd3dfbc773edd3d      0t0  TCP *:commplex-main (LISTEN)

É esse ControlCe aí (deve ser de ControlCenter). Um nome extremamente sugestivo.

Infelizmente, eu só tenho só mais um produto Apple, e eu nem uso ele com esse computador.

Pra desativar isso, você:

  • abre as Preferências do Sistema do Mac (ou System Preferences, se você prefere em inglês),
  • vai em Compartilhamento (ou Sharing).
  • desmarca a opção que diz “Receptor de AirPlay” (eu sei lá como é isso em inglês, mas vai ter AirPlay no nome). Ela é a última opção, ou está entre as últimas.

Pronto. Agora você pode rodar serviços na 5000 à vontade.