When using a terminal emulator, one can stop the currently running program with either CTRL-Z or CTRL-S. What's the difference between these control characters?
Asked
Active
Viewed 3,617 times
2 Answers
4
CTRL-Z sends the SIGSTOP signal, which forces the program to stop.
With
fg
or
bg
you can send SIGCONT and start it in the front- or background.
CTRL-S just stops outputting stuff to the terminal. (XOFF)
You can turn it back on with CTRL-Q.(XON)
cularis
- 1,269
4
It's the difference between the "stop" and "suspend" actions to the terminal.
Stopping the output with Ctrl-S doesn't stop the process from running; rather it just stops output to the terminal (resume with Ctrl-Q / "start").
Suspending a process with Ctrl-Z actually stops it running, and puts the process into a different state visible from ps (state "T"). Resume with "fg" or "bg" to resume the process in the foreground or background, respectively.
PhilR
- 543