
Предположим, у меня есть два приложения, которые называются firefox и arduino. Сначала я печатал firefox
в терминале и все еще могу использовать терминал как обычно. Но когда я печатал arduino
, я больше не мог использовать терминал, и мне пришлось поставить его в фоновый процесс. Так в чем же разница между ними?
решение1
Это зависит от того, как запускается программа. Существуют различные режимы, в которых может быть запущено приложение, пара из них, имеющих отношение к этому вопросу, — это режим демона и режим переднего плана.
Я думаю, что когда вы запускаете Firefox, приложение по умолчанию запускается как демон. В режиме демона приложение незаметно начинает работать в фоновом режиме, так что никакое взаимодействие с пользователем (просто для примера) не может помешать ему.
Подробнее о Демонездесь.
Другой тип — Foreground. Когда вы запускаете приложение Arduino, оно по умолчанию запрограммировано на запуск в режиме Foreground (я так думаю).
Режим переднего плана делает именно то, что вы упомянули, он просто остается на терминале, пока вы не убьете его с помощью CTRL-C или каким-либо другим способом. Метод переднего плана полезен, когда вы хотите знать, что на самом деле делает приложение.