Użytkownicy komputerów Mac mogą czasami napotkać sytuację, w której proces blokuje port, uniemożliwiając innej aplikacji lub procesowi korzystanie z tego portu. Jeśli natkniesz się na taką sytuację, na przykład próbujesz użyć React.js i dowiesz się, że coś już działa na porcie 3000, możesz łatwo wyśledzić, jakie procesy używają portu na komputerze Mac, przejście do wiersza poleceń.
Pokażemy Ci, jak znaleźć i usunąć proces blokujący port w systemie MacOS.
Jak znaleźć proces blokujący port na komputerze Mac
Składnia, której należy użyć, byłaby następująca, zastępując PORTNUMBER numerem portu, którego chcesz wykryć za pomocą procesu (procesów):
sudo lsof-i:NUMER PORTU
Na przykład aby znaleźć proces używając portu 445:
sudo lsof-i:445
Lub znaleźć proces używając i blokując port 3000:
sudo lsof-i:3000
Jak znaleźć i zabić proces blokowania portu na komputerze Mac
Po uzyskaniu PID (identyfikator procesu) z danych wyjściowych polecenia lsof możesz zamknąć aplikację, zamknąć usługę lub zakończ ten proces, aby zwolnić i zwolnić zablokowany port.
Najprostszym sposobem na zabicie procesu jest użycie polecenia kill:
kill-9 PID
Na przykład, jeśli identyfikator procesu korzystający z portu 3000 to „8384”, należy użyć następującej składni polecenia:
kill-9 8384
Jeśli proces należącym do roota, administratora lub innego użytkownika, musisz poprzedzić to polecenie sudo:
sudo kill-9 8384
Jeśli to coś warte, użyte tutaj polecenie lsof koncentruje się na komputerze Mac, ale będzie działać tak samo w systemie Linux.
Zakładamy, że masz pewną wiedzę na temat wiersza poleceń, ale oczywiście jeśli jej nie masz, prawdopodobnie nie byłbyś tutaj w pierwszej kolejności ani nie martwił się, co używa lub blokuje port.
Istnieją inne sposoby, aby to zrobić, ale oczywiście tutaj używamy polecenia lsof, które jest bardzo wydajne i może również użyć go do znalezienia tego, co nasłuchuje na porcie TCP, do znalezienia aplikacji lub procesy wchodzą w interakcje z określonymi plikami, aby znaleźć wszystkie procesy korzystające z połączenia internetowego i nie tylko.
Czy masz inną metodę określania, który proces blokuje lub używa określonego portu? Podziel się z nami swoimi własnymi podejściami do tego w komentarzach poniżej.