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.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *