W systemie Linux mogę zabić proces, znając tylko port, z którego nasłuchuje. fuser -k 9000/tcp
Jak mogę to zrobić w systemie MacOS?
13
lsof -P | grep ':PortNumber' | awk '{print $2}' | xargs kill -9
Przejdź PortNumber
do faktycznego portu, którego chcesz wyszukać.
-9
do końca, aby to zadziałało, ale uważam, że wynika to z natury aplikacji do słuchania i nie jest to ogólnie zalecana praktykakill -9
.Dodanie flag -t i -i do lsof powinno przyspieszyć go jeszcze bardziej, eliminując potrzebę grep i awk.
źródło
Dodaj -n do lsof, a usuniesz odwrotne wyszukiwanie DNS z polecenia i skrócisz czas działania z minut do sekund.
źródło
Możesz użyć
kill -9 $(lsof -i:PORT -t) 2> /dev/null
, gdzie PORT jest twoim rzeczywistym numerem portu. Zabije to proces działający na danym porcie.źródło
2. Zamknij port, zabijając proces PID
źródło
Możesz sprawdzić, czy port jest otwarty przez to polecenie
gdzie 8000 to numer portu
Jeśli port jest otwarty, powinien zwrócić ciąg znaków zawierający identyfikator procesu (PID).
Skopiuj ten PID i
Jeśli chcesz zobaczyć wszystkie otwarte porty, możesz wykonać skanowanie portów w aplikacji Network Utility.
źródło