Срок службы фоновой программы [дубликат]

На этот вопрос уже есть ответ:

Если вы запустите фоновую программу в терминале с помощью & вариант. Он остановится, когда вы закроете терминал?

0
задан 12 June 2015 в 22:59

3 ответа

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

В программе эмулятора терминала нет ничего реального зависания, но закрытие программы эмулятора вызывает эмуляцию терминала. (Более строго: закрытие главной стороны псевдотерминального устройства квалифицируется как зависание терминала на ведомой стороне.) Не все программы эмулятора имеют понятие о закрытии. Например, тот, который встроен в ядро ​​операционной системы и предоставляет виртуальные терминалы ядра , не может быть «закрыт», например.

С реальным терминалом есть последовательный порт с линией обнаружения несущей и реальное зависание модема, которое может произойти, если подключаемый пользователь на удаленном терминале прерывает телефонное соединение.

Все это восходит к временам систем с разделением времени с удаленными терминалами, где пользователям выставлялись счета за использование. Если кто-то случайно потерял телефонное соединение, он наверняка не захотел бы выставлять счета за программы, которые все еще работают, возможно, до следующего перезапуска системы. И наоборот, системные администраторы и другие пользователи не хотели, чтобы программы по-прежнему работали и были подключены к теперь условно свободным терминалам, которые затем могут быть назначены другим подключаемым пользователям.

С тех пор многое изменилось. Управление заданиями BSD, для начала, вдохновило изменения в распределении сигнала зависания и введение понятия лидера сеанса , который отвечает за задания в сеансе входа в систему и чья смерть считается сокрушительный удар по этим работам. Мы получили удаленный вход через Интернет и идею сеанса входа в систему GUI . И программы эмуляции терминала стали настолько распространенными, что люди связывают их с терминалами, что они эмулируют .

Но основная идея остается в том, что пользовательские процессы в обычном случае завершаются & mdash; каким-то образом, даже если при посредничестве лидера сеанса & mdash; когда их терминальная сессия прекращается.

0
ответ дан 12 June 2015 в 22:59

Посещение Запускающие программы в фоновом режиме от терминала или самый эффективный способ запуститься и разделить программу от терминала?

, Если Вы запускаете фоновую программу в терминале с & опция. Это остановится при закрытии терминала?

я нахожу, что закрытие gnome-terminal путем нажатия на близкую кнопку может вызвать остановку/уничтожение той программы. , Но при закрытии терминала exit команда, чем программа не закроется/остановит/уничтожит.

0
ответ дан 12 June 2015 в 22:59

Да, это остановится. Для предотвращения останавливаемой программы используйте nohup.

, Например, nohup firefox > /dev/null 2>&1 &, и позволит под управлением Firefox в фоне, не закрываясь и предотвратит показ ошибки/вывода на консоли

0
ответ дан 12 June 2015 в 22:59

Другие вопросы по тегам:

Похожие вопросы: