Espero recibir críticas por esto, pero no puedo encontrar la respuesta en ninguna parte. Parece que debería ser tan obvio. A veces, cuando escriba un comando incorrecto en una terminal bash, el cursor simplemente salta a la siguiente línea sin ningún error ni nada. No puedo decir qué hice mal. Es como si estuviera atrapado en el programa. Recreación:
$ tidy
Yo: «¡Vaya! Eso no es lo que quise escribir …»
:q
Yo: «Eso no funcionó …»
:exit :quit exit quit /exit /quit -exit -quit -wtf???
Sé que lo arruiné, pero ¿cómo puedo volver? al indicador sin cerrar la terminal?
Comentarios
Responder
Siempre puedes probar cosas obvias como ^C
, ^D
(eof), Escape, etc., pero si todo falla, generalmente termino suspendiendo el comando con ^Z
(Control-Z) que me devuelve al shell.
Luego hago un comando ps
y anoto el PID (id de proceso) del comando y luego emito un kill thePID
(kill -9 thePID
si el primero no funcionó) comando para terminar la aplicación.
Tenga en cuenta que esto no es un tidy ( sin juego de palabras) forma de terminar la aplicación / comando y corres el riesgo de no guardar algunos datos, etc.
Un ejemplo (yo «habría usado tidy
pero no lo tengo instalado):
$ 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
Comentarios
- Eso ' s it !! ^ Z al rescate. Muchas gracias.
- ^ \ (ctrl-backslash, SIGQUIT) funciona en algunas utilidades obstinadas que no ' no responda a ^ C.
- ¡Shh! No ' no le cuente a la gente sobre ^ \ o ellos ' empezaremos
SIG_IGN
' ing eso también, entonces ¿qué haremos? - @godlygeek ¿Puedes dime qué significa %% en Linux o qué tipo de cosa es? Busqué mucho.
- @Noumenon, eche un vistazo a
LESS='+/^JOB CONTROL' man bash
.%%
se refiere al " trabajo actual ".
Responder
Intente presionar Ctrl – D o Ctrl – C . Si falla, finalice el proceso.
Intente con el comando tidy
que mencionó, Ctrl – D funciona.
Comentarios
-
CTRL+C
también es bueno para Windows CMD.
Respuesta
Otra solución (no mencionada ya) es enviar la señal SIGQUIT
usando ctrl + \
Es más fuerte que ctrl + c
Responder
CTRL + D == exit shell command
y
CTRL + C == terminate the current process, Of course may be the given software handle it and
CTRL + D doens"t work
Por supuesto, producen un kernel signal
si quieres saber más, lee:
man 7 signal
Comentarios
- Ctrl + D es el final del archivo, no sale directamente.
:q
realmente funcionó para mí; ¿No es ' t eso un comando de Vim?