Trova e termina il processo che usa una porta su Windows (3000, 5173, 8080)
Quando un server di sviluppo non parte perché la porta è già in uso, qualcos’altro è in ascolto su quella porta. Nel Prompt dei comandi, elenca i processi in ascolto con il relativo ID di processo, poi terminalo:
netstat -ano | findstr :3000taskkill /PID 12345 /FL’ultima colonna della riga LISTENING è il PID (findstr :3000 trova anche :30001, quindi
controlla l’indirizzo locale). tasklist /FI "PID eq 12345" mostra di quale programma si
tratta. In PowerShell la stessa ricerca è:
Get-NetTCPConnection -LocalPort 3000 -State Listen | Select-Object LocalPort, OwningProcessGet-Process -Id 12345Stop-Process -Id 12345 -ForceAggiungi /T a taskkill per terminare anche i processi figli. I processi di un altro utente o
del sistema possono richiedere una finestra con privilegi elevati (amministratore).
Il metodo Moonpool
Sezione intitolata “Il metodo Moonpool”Per un’app che esegui tramite Moonpool non devi cercare il PID. Assegna all’app una port e
Arresta la libera. Per un’app web è il killMode predefinito, qui scritto esplicitamente:
{ "id": "api", "name": "API", "group": "Web apps", "type": "web", "cwd": "C:\\code\\api", "command": "npm start", "port": 3000, "env": { "PORT": "3000" }, "killMode": "port"}Arresta termina prima il terminale avviato da Moonpool, poi termina con la forza qualsiasi cosa
sia ancora in ascolto su port. Su Windows è la stessa ricerca vista sopra
(Get-NetTCPConnection -LocalPort <port> -State Listen), seguita da taskkill /PID <pid> /T /F
per ogni proprietario.
- Se qualcosa che non hai avviato tu occupa la porta, Moonpool mostra l’app come in esecuzione ma
non «managed by Moonpool». Premi Arresta: il passaggio
portviene comunque eseguito. - Moonpool si rifiuta di terminare tramite la porta un elenco fisso di processi Windows
condivisi, come il backend di Docker Desktop,
svchoste l’host WSL. Per un’app Docker usakillModecommandoppurenone, maiport. Vedi App Docker su Windows. - Funziona solo per le porte delle app elencate in
apps.json. Per qualsiasi altra porta, usa i comandi all’inizio. - La modalità
porttermina qualsiasi processo in ascolto, anche una copia che hai avviato a mano, quindi usala solo per porte di cui nient’altro sul computer ha bisogno.
Vedi anche
Sezione intitolata “Vedi anche”Moonpool è software gratuito di FasterDB