11 votes

Comment empêcher le shell adb de se terminer par Ctrl+C ?

Quand je adb shell dans mon appareil (à partir du bureau de Windows) et y exécuter une commande, je veux parfois mettre fin à cette commande. La façon standard de le faire sous Unix est d'utiliser la commande Ctrl+C combinaison de touches. Cependant, lorsque je fais cela, l'ensemble des adb shell se termine.

Comment puis-je mettre fin uniquement au programme en cours dans le shell, et non au shell lui-même ?

14voto

Shog9 Points 183

J'ai trouvé une sorte de solution de contournement (du moins pour un téléphone rooté). Si un téléphone est rooté, busybox est probablement installé. stty fait partie de busybox.

stty intr ^x

Redéfinit Ctrl + X pour agir en tant que commande de rupture, par exemple ce qui était auparavant Ctrl + C .

5voto

Alt - NumPad 3 + Enter が効くんです。 Alt - NumPad 0 - NumPad 3 + Enter fonctionne également et affiche "^C".

3voto

mercutio Points 5828

J'ai pu arrêter le top tout en restant dans l'interpréteur de commandes en tapant les commandes suivantes dans cet ordre :

C

CTRL + Z

CTRL + M

Si je ne tapais pas ces trois combinaisons, il ne s'arrêtait pas et je devais le faire. CTRL + C pour quitter le shell. J'ai trouvé cela en essayant différentes combinaisons de touches et je l'ai trouvé par accident. YMMV

3voto

Bronwyn Points 77

Ctrl + \ suivi de Enter fonctionne généralement bien.

Cela enverra un signal SIGQUIT qui peut ne pas être approprié pour un serveur (dumps d'un fichier core par exemple) mais je ne pense pas qu'il y ait de problème à utiliser cela sur un téléphone/tablette Android (qui ne fait pas de dumps d'un fichier core par défaut). Une solution simple qui fonctionne dans la plupart des cas.

3voto

Ben Points 619

Sous Windows, vous pouvez simplement saisir [Alt]+[3] via le pavé numérique (n'oubliez pas d'appuyer sur la touche Entrée ensuite).
Cette opération envoie [Ctrl]+[c] à l'interpréteur de commandes, ce qui met fin à la commande en cours :

D:\\Android>adb shell
$ cat
cat

^C

$ exit
exit

D:\\Android>

Notez que [Alt]+[3] produit l'ASCII-Char sous Windows qui équivaut à l'octet ETX.
Vous pouvez également appuyer sur [Alt]+[0]-[3] (maintenez la touche Alt enfoncée tout en appuyant sur [0] et [3] sur le pavé numérique) si vous ne voulez pas que Windows affiche un cœur ;)

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X