1

Unix вопрос новичка:

Я немного озадачен назначением приостановленных (Ctr+Z) команд в оболочке Unix. Из того, что я понял, приостановленный процесс / команда не находится ни в фоновом режиме, ни (очевидно) на переднем плане. Однако - и я не совсем уверен в этом, но это то, на что указывает моя повседневная игра - приостановленный процесс не «приостанавливается», так как он завершится (или, по крайней мере, «завершит свою работу»), как и любой другой. Он просто не будет выводиться на терминал.

Так, какова специальная цель (или «механика», если вы предпочитаете) приостановленного состояния? Почему не только фон и передний план?

Спасибо

[править: я ошибся в своем предположении, что «приостановленный процесс не« приостанавливается », поскольку он будет завершен (или, по крайней мере,« завершит свою работу »), как и любой другой». Смотрите принятый ответ.]

2 ответа2

2

Если вы приостанавливаете работу с помощью Ctrl+Z, она приостанавливается, то есть не будет "завершать свою работу". Вы можете использовать bg, чтобы продолжить его в фоновом режиме (что означает, что он все еще может писать в стандартный вывод, но не может читать из стандартного ввода). Однако я думаю, что вы можете написать программу таким образом, чтобы игнорировать Ctrl+Z или обрабатывать ее каким-либо другим способом, не будучи уверенным в этом.

Если, с другой стороны, вы хотите запустить его в фоновом режиме, вы можете поставить команду & после команды в оболочке.

Смотрите также http://en.wikipedia.org/wiki/Job_control_%28Unix%29

1

Он используется, чтобы позволить другому процессу взять на себя управление стандартным вводом и выводом. Он также используется для запуска другого процесса в той же оболочке.

Например:

Во время работы текстового редактора, который занимает весь терминал, вы нажимаете ^ Z, временно закрываете редактор и запускаете несколько команд (перемещение файлов, изменение песни, запуск другой интерактивной программы). Когда вы закончите, вы возобновите редактирование вашего файла, снова переведя редактор вперед.

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