Je mattends à avoir des critiques pour cela, mais je ne peux trouver la réponse nulle part. Il semble que cela devrait être si évident. Parfois, quand je tapez une mauvaise commande dans un terminal bash, le curseur saute juste à la ligne suivante sans aucune erreur ou quoi que ce soit. Je ne peux pas dire ce que jai mal fait. Cest comme si jétais coincé dans le programme. Reconstitution:
$ tidy
Moi: « Oups! Ce nest » pas ce que je voulais taper … «
:q
Moi: « Ça na pas marché … »
:exit :quit exit quit /exit /quit -exit -quit -wtf???
Je sais que jai merdé mais comment puis-je revenir à linvite sans fermer le terminal?
Commentaires
Réponse
Vous pouvez toujours essayer des choses évidentes comme ^C
, ^D
(eof), Escape etc., mais si tout échoue, je finis généralement par suspendre la commande avec ^Z
(Control-Z) qui me remet dans le shell.
Jexécute ensuite une commande ps
et note le PID (processus id) de la commande, puis émets un kill thePID
(kill -9 thePID
si lancienne na pas fonctionné) commande pour mettre fin à lapplication.
Notez que ce nest pas un tidy ( sans jeu de mots) façon de terminer lapplication / la commande et vous courez le risque de ne pas sauvegarder certaines données, etc.
Un exemple (jaurais utilisé tidy
mais je ne lai pas installé):
$ gnuplot G N U P L O T Version 4.2 patchlevel 6 .... Send bug reports and suggestions to <http://sourceforge.net/projects/gnuplot> Terminal type set to "wxt" gnuplot> gnuplot> ##### typed ^Z here [1]+ Stopped gnuplot $ ps PID TTY TIME CMD 1681 pts/1 00:00:00 tcsh 1690 pts/1 00:00:00 bash 1708 pts/1 00:00:00 gnuplot 1709 pts/1 00:00:00 ps $ kill 1708 ###### didn"t kill the command as ps shows $ ps PID TTY TIME CMD 1681 pts/1 00:00:00 tcsh 1690 pts/1 00:00:00 bash 1708 pts/1 00:00:00 gnuplot 1710 pts/1 00:00:00 ps $ kill -9 1708 ### -9 did the trick $ [1]+ Killed gnuplot $ ps PID TTY TIME CMD 1681 pts/1 00:00:00 tcsh 1690 pts/1 00:00:00 bash 1711 pts/1 00:00:00 ps
Commentaires
- Que ' cest tout !! ^ Z à la rescousse. Merci beaucoup.
- ^ \ (ctrl-backslash, SIGQUIT) fonctionne dans certains utilitaires tenaces qui ne ' Je ne réponds pas à ^ C.
- Chut! Ne ' ne parle pas de ^ \ ou ils ' ll commencera
SIG_IGN
' ça aussi, alors que ferons-nous? - @godlygeek Pouvez-vous dites-moi ce que signifie %% sous Linux ou quel genre de chose cest? Jai beaucoup cherché.
- @Noumenon, jetez un œil à
LESS='+/^JOB CONTROL' man bash
.%%
fait référence au " poste actuel ".
Réponse
Essayez dappuyer sur Ctrl – D ou Ctrl – C . Sil échoue, arrêtez le processus.
Essayer avec la commande tidy
que vous avez mentionnée, Ctrl – D fonctionne.
Commentaires
-
CTRL+C
convient également à Windows CMD.
Réponse
Une autre solution (pas déjà mentionnée) est denvoyer le signal SIGQUIT
en utilisant ctrl + \
Cest plus fort quun ctrl + c
Réponse
CTRL + D == exit shell command
et
CTRL + C == terminate the current process, Of course may be the given software handle it and
CTRL + D doens"t work
Bien sûr, ils produisent un kernel signal
si vous voulez en savoir plus, lisez:
man 7 signal
Commentaires
- Ctrl + D est la fin du fichier, pas directement quitter.
:q
a en fait fonctionné pour moi; ' nest-ce pas une commande Vim?