6

При использовании эмулятора терминала можно остановить текущую запущенную программу с помощью CTRL-Z или CTRL-S. В чем разница между этими управляющими персонажами?

2 ответа2

4

Это разница между действиями "стоп" и "приостановка" для терминала.

Остановка вывода с помощью Ctrl-S не останавливает процесс; скорее он просто останавливает вывод на терминал (возобновите с помощью Ctrl-Q / "start").

Приостановка процесса с помощью Ctrl-Z фактически останавливает его выполнение и переводит процесс в другое состояние, видимое из ps (состояние "T"). Возобновите с "fg" или "bg", чтобы возобновить процесс на переднем плане или на заднем плане, соответственно.

3

CTRL - Z посылает сигнал SIGSTOP , который заставляет программу остановиться.

С

fg

или же

bg

Вы можете отправить SIGCONT и запустить его в передней или фоновой.

CTRL - S просто прекращает вывод материала на терминал. (XOFF) Вы можете включить его снова с помощью CTRL - Q. (XON)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .