Когда я adb shell
захожу на свое устройство (с рабочего стола Windows) и запускаю там какую-то команду, иногда я хочу прервать эту команду. Стандартный unixy способ сделать это с Ctrl+Cкомбинацией клавиш. Однако, когда я это делаю, все adb shell
заканчивается.
Как я могу завершить только текущую программу внутри оболочки, а не саму оболочку?
^J
, к сожалению , он преобразовал Enter в .Ответы:
Я нашел своего рода обходной путь для этого (по крайней мере, для рутированного телефона). Если телефон рутирован,
busybox
скорее всего установлен.stty
является частью busybox.Переопределяет Ctrl+, Xчтобы действовать как команда разрыва, например, что было ранее Ctrl+ C.
источник
Alt- NumPad 3+ Enterу меня работает. Alt- NumPad 0- NumPad 3+ Enterтакже работает и отображает «^ C».
источник
я смог остановить
top
процесс и все еще оставаться в оболочке, набрав в следующем порядке:C
CTRL+Z
CTRL+M
если бы я не набрал все 3 из этих комбинаций, он не остановился бы, и мне пришлось бы CTRL+, Cчтобы выйти из оболочки. Я нашел это, просто попробовав разные комбинации клавиш, и обнаружил это случайно. YMMV
источник
vmstat
не пыталсяtop
). Интересно, что когда я нажимаюCtrl-Z
это выглядит как будто ничего не происходит , но на самом деле мой вход начинается перенаправлены прямо в оболочку Windows , а не к ADB. Вывод adb (из vmstat) продолжает появляться в окне оболочки, но я могу напечататьcd C:
(например), и он будет выполняться в оболочке Windows. Если бы я затем нажал,Ctrl-C
вывод прекратился бы, и я бы увидел за кадром команду, которую я набрал в оболочке Windows. Очень странно!Ctrl+ с \последующим Enterобычно работает нормально.
Это отправит сигнал SIGQUIT, который может быть неподходящим для сервера (например, создает дамп основного файла), но я не думаю, что это проблема при использовании этого на телефоне / планшете Android (который по умолчанию не создает дамп основного файла). ). Простое решение, которое работает в большинстве случаев.
источник
В Windows вы можете просто ввести [Alt] + [3] через цифровую клавиатуру (не забудьте потом нажать Enter).
Это отправляет [Ctrl] + [c] в оболочку, тем самым завершая текущую команду:
Обратите внимание, что [Alt] + [3] создает ASCII-Char ♥ в Windows, равный байту ETX.
Вы также можете нажать [Alt] + [0] - [3] (удерживая клавишу Alt, нажимая [0] и [3] на цифровой клавиатуре), если вы не пользуетесь окнами для отображения сердца;)
источник