netstat -tulnap
pokazuje mi, jakie porty są używane. Jak zwolnić port w systemie Linux?
netstat -tulnap
pokazuje mi, jakie porty są używane. Jak zwolnić port w systemie Linux?
Odpowiedzi:
Jak powiedzieli inni, będziesz musiał zabić wszystkie procesy, które nasłuchują na tym porcie. Najłatwiej byłoby to zrobić za pomocą polecenia fuser (1). Na przykład, aby zobaczyć wszystkie procesy nasłuchujące żądań http na porcie 80 (uruchom jako root lub użyj sudo):
# fuser 80/tcp
Jeśli chcesz je zabić, po prostu dodaj opcję -k.
sudo yum install psmisc
)
kill -9 $(fuser 80/tcp 2>/dev/null)
Aby zabić określony port w Linuksie, użyj poniższego polecenia
sudo fuser -k Port_Number/tcp
zamień numer_portu na zajęty port.
Możesz użyć tcpkill
(części dsniff
pakietu), aby zabić połączenie na porcie, którego potrzebujesz:
sudo tcpkill -9 port PORT_NUMBER
$ sudo tcpkill -9 port 5432 tcpkill: listening on lxcbr0 [port 5432]
W typie terminala:
netstat -anp|grep "port_number"
Pokaże szczegóły portu. Przejdź do ostatniej kolumny. Będzie w tym formacie. Na przykład: - PID / java
następnie wykonaj:
kill -9 PID. Worked on Centos5
Dla Maca:
lsof -n -i :'port-number' | grep LISTEN
Przykładowa odpowiedź:
java 4744 (PID) test 364u IP0 asdasdasda 0t0 TCP *:port-number (LISTEN)
a następnie wykonaj:
kill -9 PID
Pracował na Macbooku
sudo netstat
zobaczyć
"netstat --programs"
Komenda daje przetwarzania informacji, przy założeniu, że korzeń. Wtedy będziesz musiał zabić "obrażający" proces, który może zacząć się ponownie, tylko po to, by cię zdenerwować :-).
Co tak naprawdę próbujesz tutaj osiągnąć? Rozwiązania będą się różnić w zależności od procesów obsługujących te porty.
Zakończ proces nasłuchujący danego portu. Myślę, że netstat pokazuje identyfikatory procesów.
Jeśli naprawdę chcesz natychmiast zabić proces, wysyłasz mu sygnał KILL zamiast sygnału TERM (to drugie żądanie zatrzymania, pierwsze zadziała natychmiast bez czyszczenia). Jest to łatwe do zrobienia:
kill -KILL <pid>
Należy jednak pamiętać, że w zależności od zatrzymywanego programu jego stan może ulec poważnemu uszkodzeniu. Zwykle chcesz wysłać sygnał KILL tylko wtedy, gdy normalne zakończenie nie działa. Zastanawiam się, jaki jest podstawowy problem, który próbujesz rozwiązać i czy zabijanie jest właściwym rozwiązaniem.
Myślę, że jedynym sposobem będzie zatrzymanie procesu, który otworzył port.
Wyłączenie komputera zawsze kończy proces za mnie.