Znajdowanie i kończenie procesu używającego portu w systemie Windows (3000, 5173, 8080)
Gdy serwer deweloperski zgłasza, że port jest już używany, coś innego nasłuchuje na tym porcie. W wierszu polecenia (Command Prompt) można wyświetlić nasłuchujące procesy wraz z identyfikatorem procesu-właściciela, a następnie go zakończyć:
netstat -ano | findstr :3000taskkill /PID 12345 /FOstatnia kolumna wiersza LISTENING to PID (findstr :3000 pasuje też do :30001, więc należy
sprawdzić adres lokalny). Polecenie tasklist /FI "PID eq 12345" pokazuje, który to program. W
PowerShell to samo wyszukiwanie wygląda tak:
Get-NetTCPConnection -LocalPort 3000 -State Listen | Select-Object LocalPort, OwningProcessGet-Process -Id 12345Stop-Process -Id 12345 -ForceDodanie /T do taskkill kończy także procesy potomne danego procesu. Procesy należące do
innego użytkownika lub do systemu mogą wymagać okna z podniesionymi uprawnieniami (administratora).
Sposób Moonpool
Dział zatytułowany „Sposób Moonpool”Dla aplikacji uruchamianej przez Moonpool nie trzeba szukać PID. Wystarczy nadać aplikacji port,
a Zatrzymaj go zwolni. Dla aplikacji web jest to domyślny killMode, tu zapisany jawnie:
{ "id": "api", "name": "API", "group": "Web apps", "type": "web", "cwd": "C:\\code\\api", "command": "npm start", "port": 3000, "env": { "PORT": "3000" }, "killMode": "port"}Zatrzymaj najpierw kończy terminal uruchomiony przez Moonpool, a następnie wymusza zakończenie
wszystkiego, co nadal nasłuchuje na port. W systemie Windows jest to to samo wyszukiwanie co
powyżej (Get-NetTCPConnection -LocalPort <port> -State Listen), a potem taskkill /PID <pid> /T /F dla każdego właściciela.
- Jeśli port zajmuje coś, czego nie uruchomiłeś(-aś), Moonpool pokazuje aplikację jako
działającą, ale nie „zarządzaną przez Moonpool”. Należy nacisnąć Zatrzymaj: krok
porti tak zostanie wykonany. - Moonpool odmawia kończenia według portu stałej listy współdzielonych procesów systemu Windows,
takich jak zaplecze Docker Desktop,
svchosti host WSL. W przypadku aplikacji Docker należy użyćkillModeo wartościcommandlubnone, nigdyport. Zob. Aplikacje Docker w systemie Windows. - Działa to tylko dla portów aplikacji wymienionych w
apps.json. Dla każdego innego portu należy użyć poleceń z początku strony. - Tryb
portkończy wszystko, co nasłuchuje, także kopię uruchomioną ręcznie, więc należy go używać tylko dla portów, których nic innego na komputerze nie potrzebuje.
Zobacz także
Dział zatytułowany „Zobacz także”Moonpool to darmowe oprogramowanie od FasterDB