Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I expect to get some flak for this, but I can't find the answer anywhere. It seems like it should be so obvious. Sometimes, when I type a bad command in a bash terminal, the cursor just jumps down to the next line without any error or anything. I can't tell what I did wrong. It's like I'm stuck in the program. Reenactment:

$ tidy

Me: "Oops! That's not what I meant to type..."


Me: "That didn't work..."


I know I screwed up but how do I get back to the prompt without closing the terminal?

share|improve this question
Related: What causes various signals to be sent? –  Gilles Aug 16 '12 at 23:23

4 Answers 4

up vote 10 down vote accepted

You can always try the obvious things like ^C, ^D (eof), Escape etc., but if all fails I usually end up suspending the command with ^Z (Control-Z) which puts me back into the shell.

I then do a ps command and note the PID (process id) of the command and then issue a kill thePID (kill -9 thePID if the former didn't work) command to terminate the application.

Note that this is not a tidy (no pun intended) way to terminate the application/command and you run the risk of perhaps no saving some data etc.

An example (I'd have used tidy but I don't have it installed):

$ 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>               #####  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
share|improve this answer
That's it!! ^Z to the rescue. Thank you so much. –  Koveras Aug 16 '12 at 17:38
@davidkennedy85 Happy to help ... I was just cobbling together an example to post –  Levon Aug 16 '12 at 17:39
^\ (ctrl-backslash, SIGQUIT) works in some stubborn utilities that don't respond to ^C. –  mrb Aug 16 '12 at 19:11
Shh! Don't tell people about the ^\ or they'll start SIG_IGN'ing that too, then what will we do? –  Alan Curry Aug 16 '12 at 19:55
I'd recommend ^Z, then kill %% to kill the job nicely, then kill -9 %% to kill it harshly if necessary. And using %% instead of using ps to find a pid is much easier. –  godlygeek Nov 5 '14 at 19:12

Try pressing Ctrl-D or Ctrl-C. If it fails, kill the process .

Trying with the tidy command you mentioned, Ctrl-D works.

share|improve this answer
CTRL+D ==  exit shell command


CTRL+C == terminate the current process, Of course may be the given software handle it and CTRL+C doens't work

Of course , They produce a kernel signal if you want to know more, read :

man 7 signal
share|improve this answer
Ctrl+D is end-of-file, not directly exit. –  Gilles Aug 16 '12 at 23:22

Another solution (not mentioned already) is to send the SIGQUIT signal using ctrl+\

It is stronger than a ctrl+c

share|improve this answer
+1 but please don't give shortcuts using specific keyboard layouts. They are not dependent on the layout so you can just use the symbol printed by a given keyboard combination. –  terdon Nov 5 '14 at 19:34

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.