Можно ли прервать telnet, пока он все еще пытается подключиться?

15858
René Nyffenegger

Иногда я обнаруживаю, что подключаюсь к сети с Windows XP на другой сервер и указываю неправильный номер порта, например

c:\> telnet xxxxx.yy pp 

После нажатия Enter я понимаю, что ввел неправильный номер порта и хотел бы прервать процесс telnet с помощью ctrl-c, однако telnet, похоже, не отвечает даже на ctrl-c. Итак, я должен подождать несколько секунд, пока telnet не вернется с

Подключение к xxxxx.yy ...  Не удалось открыть соединение с хостом, по порту pp: ошибка подключения

Довольно неприятно ждать сообщения об ошибке, особенно когда я уже знаю, что оно в итоге придет.

Итак, есть ли способ немедленно остановить процесс telnet?

12
правильно, хорошая мысль обновленный ответ. quack quixote 14 лет назад 0

1 ответ на вопрос

7
quack quixote

Редактировать : Конечно, это никогда не было так просто. Как вы заметили, telnet от Microsoft не отвечает во ^]время ожидания соединения.

Если вы не хотите ждать, у вас есть только два варианта:

  • Убить процесс telnet (из другой командной оболочки или из диспетчера задач), или

  • Используйте другой клиент Telnet. PuTTY - хороший выбор, так как он запускается как отдельное окно; даже если вы неправильно введете порт и окно PuTTY закроется, ваша командная оболочка будет доступна для запуска другого экземпляра с правильным номером порта.


Используйте escape-символ (по умолчанию Ctrl+]). Это вызывает приглашение telnet, в котором вы можете закрыть или закрыть соединение.

> telnet  Welcome to Microsoft Telnet Client  Escape Character is 'CTRL+]'  Microsoft Telnet>  

Вы можете изменить это на что угодно в командной строке, используя -eфлаг:

C:\>telnet /?  telnet [-a][-e escape char][-f log file][-l user][-t term][host [port]] [...] -e Escape character to enter telnet client prompt. [...]  C:\>telnet -e '  Welcome to Microsoft Telnet Client  Escape Character is '''  Microsoft Telnet> 
Проблема в том, что telnet не отвечает на ctrl-], пока он находится в процессе подключения к серверу. René Nyffenegger 14 лет назад 0
что в значительной степени означает, что он не будет отвечать ни на что. плохой клиент telnet, плохой quack quixote 14 лет назад 4
Просто любопытно: какой escape-персонаж вы пробовали с флагом `-e`? Новая строка? Backspace? Arjan 14 лет назад 0
мне? одинарная кавычка (`'`), в точности как показано. этот вывод был получен с терминала winXP cmd.exe. quack quixote 14 лет назад 0
Аааа, я думал, что одиночная кавычка в `telnet -e '` была открывающей кавычкой для чего-то, как в `telnet -e' q'`. Смущенный подсветкой синтаксиса, я думаю. :-) Arjan 14 лет назад 0
Я на самом деле пробовал что-то подобное, но `-e` ожидает только один символ, поэтому он не беспокоится о" is-this-a-string-or-not ", просто захватывает первый символ. я обвиняю `cmd.exe`. quack quixote 14 лет назад 0
Небольшое замечание для клавиатур CH-DE (швейцарский немецкий) (может быть, это справедливо для всех неамериканских клавиатур?). В клавиатуре CH-DE символ] находится на комбинации alt-gr, а сочетание клавиш CTRL + ALT-GR +] не работает, поэтому вам нужно просто нажать сочетание клавиш CTRL + just (это клавиша слева от клавиши Enter, то есть клавиша, которую вы нажимаете. нужно нажать alt-gr, чтобы получить "]") raudi 11 лет назад 0
позвольте мне перефразировать: просто небольшое замечание для клавиатур CH-DE (швейцарский немецкий): просто нажмите CTRL + ¨ (CTRL плюс клавиша Umlaut). Может быть, это действительно для всех неамериканских клавиатур? На клавиатуре CH-DE] находится на комбинации ALT-GR + "¨" (th-клавиша Umlaut, которая является клавишей слева от Enter). CTRL + ALT-GR +] не работает, поэтому вы должны использовать только CTRL + "¨", и я не уверен, что для других макетов это будет означать просто CTRL плюс клавиша слева от ENTER или если это означает CTRL плюс клавиша что вы должны нажать вместе с alt-gr, чтобы получить "]" raudi 11 лет назад 0