Wenn ich adb shell
auf mein Gerät (vom Windows-Desktop) gehe und dort einen Befehl ausführe, möchte ich diesen Befehl manchmal beenden. Die Standard-Unixy-Methode ist die Ctrl+CTastenkombination. Wenn ich das mache, adb shell
endet das Ganze jedoch.
Wie kann ich nur das aktuelle Programm in der Shell beenden, nicht die Shell selbst?
^J
leider die Eingabetaste in konvertiert hat.Antworten:
Ich habe eine Art Problemumgehung dafür gefunden (zumindest für ein verwurzeltes Telefon). Wenn ein Telefon gerootet ist,
busybox
ist es höchstwahrscheinlich installiert.stty
ist Teil der Busybox.Definiert Ctrl+ neu X, um als Unterbrechungsbefehl zu fungieren, z. B. was zuvor Ctrl+ war C.
quelle
Alt- NumPad 3+ Enterarbeitet für mich. Alt- NumPad 0- NumPad 3+ Enterfunktioniert auch und zeigt "^ C" an.
quelle
Ich konnte den
top
Prozess stoppen und trotzdem in der Shell bleiben, indem ich Folgendes in dieser Reihenfolge eingab:C
CTRL+Z
CTRL+M
Wenn ich nicht alle 3 dieser Combos eingeben würde, würde es nicht aufhören und ich müsste CTRL+ C, um die Shell zu verlassen. Ich fand dies, indem ich einfach verschiedene Tastenkombinationen ausprobierte und es zufällig fand. YMMV
quelle
vmstat
nicht versuchttop
). Interessanterweise siehtCtrl-Z
es so aus, als würde nichts passieren, aber tatsächlich wird meine Eingabe direkt in die Windows-Shell und nicht in adb umgeleitet. Die Ausgabe von adb (von vmstat) wird weiterhin im Shell-Fenster angezeigt, aber ich könntecd C:
(zum Beispiel) eingeben und sie würde in der Windows-Shell ausgeführt. Wenn ich dann drückte, hörteCtrl-C
die Ausgabe auf und ich sah den Befehl, den ich hinter den Kulissen in die Windows-Shell eingegeben hatte. Sehr merkwürdig!Ctrl+ \gefolgt von Enterfunktioniert normalerweise gut.
Dadurch wird ein SIGQUIT-Signal gesendet, das möglicherweise nicht für einen Server geeignet ist (z. B. wird eine Kerndatei ausgegeben), aber ich glaube nicht, dass es ein Problem ist, dies auf einem Android-Telefon / -Tablet zu verwenden (das standardmäßig keine Kerndatei ausgibt) ). Einfache Lösung, die in den meisten Fällen funktioniert.
quelle
Unter Windows können Sie einfach [Alt] + [3] über den Nummernblock eingeben (vergessen Sie nicht, anschließend die Eingabetaste zu drücken).
Dies sendet [Strg] + [c] an die Shell, wodurch der aktuelle Befehl beendet wird:
Beachten Sie, dass [Alt] + [3] in Windows das ASCII-Zeichen ♥ erzeugt, das dem ETX-Byte entspricht.
Sie können auch [Alt] + [0] - [3] drücken (halten Sie die Alt-Taste gedrückt, während Sie [0] und [3] auf dem Nummernblock drücken), wenn Sie keine Zauberstabfenster verwenden, um ein Herz anzuzeigen;)
quelle