Czasami zdarza mi się telnetować z Windows XP na inny serwer i podam zły numer portu, np
c:\> telnet xxxxx.yy pp
Po wciśnięciu Enter zdaję sobie sprawę, że podałem zły numer portu i chciałbym przerwać proces telnet za pomocą ctrl-c, jednak telnet nie wydaje się odpowiadać nawet na ctrl-c. Tak więc muszę poczekać kilka sekund, aż telnet powróci z komunikatem
Łączenie z xxxxx.yy ... Nie można otworzyć połączenia z hostem na porcie pp: Połączenie nie powiodło się
Czekanie na komunikat o błędzie jest dość denerwujące, zwłaszcza gdy już wiem, że w końcu nadejdzie.
Czy istnieje sposób, aby natychmiast zatrzymać proces telnet?
Odpowiedzi:
Edycja : Oczywiście, to nigdy nie jest takie proste. Jak zauważyłeś, telnet Microsoftu nie reaguje
^]
podczas oczekiwania na połączenie.Jeśli nie chcesz czekać, masz tylko dwie opcje:
Zabij proces telnet (z innej powłoki poleceń lub menedżera zadań), lub
Użyj innego klienta Telnet. PuTTY to dobry wybór, ponieważ uruchomi się jako osobne okno; nawet jeśli pomylisz port i okno PuTTY zawiesza się, twoja powłoka poleceń będzie dostępna do uruchomienia innej instancji z poprawnym numerem portu.
Użyj znaku zmiany znaczenia (domyślnie to
Ctrl+]
). Spowoduje to wyświetlenie monitu telnet, w którym można zamknąć lub zakończyć połączenie.Możesz zmienić to na prawie wszystko, co lubisz w linii poleceń, używając
-e
flagi:źródło
-e
flagą? Nowa linia? Backspace?'
), dokładnie tak, jak pokazano. dane wyjściowe zostały przechwycone z terminala winXP cmd.exe.telnet -e '
to wstępny cytat czegoś, na przykładtelnet -e 'q'
. Mylę się chyba z podświetlaniem składni. :-)