BlastHardcheese 1380358857 learn When you run an external command in the shell, the shell fork(2)s, and the child created by fork exec(2)s the command. Unless you started the command in the background (&), the parent will wait(2) on the child. The child is then what's "running" in the terminal and getting input from it. The parent shell sleeps until it gets woken up by the kernel (for instance when the child terminates). Understanding this ... BlastHardcheese 1380358878 forget BlastHardcheese 1380358899 learn When you run an external command in the shell, the shell fork(2)s, and the child created by fork exec(2)s the command. Unless you started the command in the background (&), the parent will wait(2) on the child. The child is then what's "running" in the terminal and getting input from it. The parent shell sleeps until it gets woken up by the kernel (for instance when the child terminates). See also !pm