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