Я могу завершить работу системы Ubuntu, не закрывая все запускающие программы. Я думаю, что это не должно происходить

  1. Когда я завершаю работу системы Ubuntu, она не ограничивает меня, но позволяет мне завершать работу своей системы, не закрывая все программы.
  2. Почему это не ограничивает меня для закрытия всех программ?
4
задан 18 November 2014 в 09:34

3 ответа

Ubuntu отправит сигнал SIGTERM позволить запущенным приложениям корректно завершать и закрывать свои открытые процессы. Только если приложение не слушает SIGTERM, это может быть уничтожено.

В случае, если для запущенного приложения нужно взаимодействие с пользователем (тестируют это с открытым несохраненный документ от LibreOffice) завершение работы будет остановлено, пока пользователь не взаимодействовал.

В многопользовательской системе инициируемое пользователями завершение работы будет остановлено, пока другие пользователи зарегистрированы. Нам нужны полномочия пользователя root все еще быть в состоянии завершить работу. Тогда сигнал SIGTERM будет отправлен во все открытые приложения на всех рабочих сессиях.

, Если предполагается, что после тайм-аута ( 90 s) пользователь или приложения не воздействовали на сигнал SIGTERM, SIGKILL должен быть выпущен, который только тогда должен привести к потере несохраненных данных. Тайм-аут УНИЧТОЖЕНИЯ по умолчанию для SIGTERM, выпущенного выскочкой, намного короче ( 5 s).

Тестирование на представленной версии показало однако, что мы можем всегда завершать работу, не будучи предложенным сохранение наш другой другого, вошел в систему незаконченная работа пользователя. Поскольку это действительно может привести к потере данных, я считаю это ошибкой:

3
ответ дан 17 November 2019 в 15:03

Согласно моему опыту с Ubuntu и другими дистрибутивами Linux. Когда Вы завершаете работу своего компьютера, ядро автоматически отправляет близкое уведомление всем открытым программам. Это тогда закрывается после уничтожения всех процессов включая сети. Windows имеет функцию, которая работает немного по-другому, если открытые процессы требуют, чтобы файл был сохранен, процесс завершения работы приостанавливается в течение некоторого времени, пока взаимодействие с пользователем не наблюдается.

1
ответ дан 17 November 2019 в 15:03

завершение работы делает свое задание, сигнализируя о процессе init, прося, чтобы он изменил runlevel. Runlevel 0 используется для остановки системы.

Поэтому, когда уровень выполнения, измененный на 0 т.е. init 0. init уничтожается. На самом деле init является родительским процессом всех процессов, работающих в системе. если родительский процесс умер тогда, весь дочерний процесс станет зомби, т.е. они не реальный процесс и не значительные.

т.е. все закрываются.

Read Страница справочника , Все, что необходимо сделать, является некоторым исследованием в области процесса завершения работы.

-1
ответ дан 17 November 2019 в 15:03

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

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