Całkiem proste, wiem, że zdarzyło mi się to wcześniej. Nie udało się znaleźć dobrej odpowiedzi na temat AU.
Uruchomiłem sesję ssh z portami powiązanymi:
ssh -L 3000:<server_name>:22
Właśnie straciłem połączenie. Kiedy próbuję połączyć się ponownie za pomocą tego samego polecenia, pojawia się następujący błąd:
bind: Address already in use
channel_setup_fwd_listener: cannot listen to port: 3000
Jak zresetować ssh na moim komputerze, aby umożliwić ponowne powiązanie portu? Resetowanie komputera lokalnego działa.
networking
ssh
port-forwarding
kbuilds
źródło
źródło
lsof -ti:5901
powróci szereg procesów, które następnie przechodzą dokill -9
sudo
jeśli proces się nie pojawilsof
kill -9
program nie reagował całkowicie . Zabicie procesu sygnałem nr 9 (SIGKILL) powoduje jego natychmiastowe zakończenie, nie dając szansy na opróżnienie buforów, zamknięcie uchwytów plików i gniazd, usunięcie plików tymczasowych itp., A wszystko to można zrobić, jeśli go użyjeszkill
(domyślnie SIGTERM) , następniekill -1
(SIGHUP; rozłączanie) ikill -2
(SIGINT; co Ctrl + C wysyła), jeśli to nie działa, i na koniec,kill -9
jeśli nic innego nie działa .Przypuszczam, że wciąż masz coś podłączonego do lokalnego portu 3000.
Możesz to znaleźć za pomocą
a następnie pozbyć się tego. Na przykład w mojej maszynie:
poprawnie identyfikuje proces oczekujący i podłączony do portu 5900 (serwer VNC).
Innym przydatnym poleceniem jest
... wszystkie mogą wymagać uruchomienia,
sudo
jeśli nie jesteś właścicielem procesu otwierającego port.źródło
killall ssh
i zginąć. Chyba tak nie jestsudo
- tego mi brakowało.Byłem w stanie odtworzyć i naprawić, wykonując następujące czynności:
ps -ae
)sh
(kill <proc_number>
)Następnie ponownie otwórz połączenie ssh
Alternatywnie, odniosłem sukces z:
W terminalu na lokalnej maszynie
źródło
jeszcze jeden pretendent:
ss
można go użyć w następujący sposób:
ss -ltp | grep 3000
aby znaleźć program nasłuchujący na porcie 3000źródło