I think this is *x system. The "Ctrl+Z" is mapped to the suspend signal (SIGTSTP). This suspends the execution of the program. You can restart the execution of the program by : fg %1 (if this is the first task to be suspended). Actually, "Ctrl+Z" does not bring you out of the while loop. On starting it again, you will still be inside the while loop. You will have to press "Ctrl+D" to come out of the loop.