При использовании эмулятора терминала можно остановить текущую запущенную программу с помощью CTRL-Z или CTRL-S. В чем разница между этими управляющими персонажами?
2 ответа
Это разница между действиями "стоп" и "приостановка" для терминала.
Остановка вывода с помощью Ctrl-S не останавливает процесс; скорее он просто останавливает вывод на терминал (возобновите с помощью Ctrl-Q / "start").
Приостановка процесса с помощью Ctrl-Z фактически останавливает его выполнение и переводит процесс в другое состояние, видимое из ps (состояние "T"). Возобновите с "fg" или "bg", чтобы возобновить процесс на переднем плане или на заднем плане, соответственно.
CTRL - Z посылает сигнал SIGSTOP
, который заставляет программу остановиться.
С
fg
или же
bg
Вы можете отправить SIGCONT
и запустить его в передней или фоновой.
CTRL - S просто прекращает вывод материала на терминал. (XOFF
) Вы можете включить его снова с помощью CTRL - Q. (XON
)