Зачем мне нужна перезагрузка после установки? [Дубликат]

7

Возможный дубликат:
Зачем мне нужно перезагрузить компьютер после установки нового программного обеспечения?

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

Следствие (просто из интереса) : Есть ли вещи, которые не обязательно требовать перезагрузка, но при этом было бы проще просто заставить пользователя перезагрузиться, чем реализовать какое-то решение без перезагрузки?

Smashery
источник
Какая ОС? Это сильно варьируется.
Matthew Flaschen
Мне тоже стало интересно.
Rafe Kettler
2
Это не похоже на программирование.
@kirk - Возможно, не программирование как таковое, но, конечно, разработка программного обеспечения. Я работаю над установщиками на работе - я хочу убедиться, что я делаю это правильно.
Smashery

Ответы:

13

В Windows вам необходимо перезагрузить компьютер, поскольку файл DLL (или EXE) не может быть заменен во время использования. Некоторые драйверы и службы не поддерживают «разгрузку», поэтому вы должен перезагрузите компьютер, если хотите заменить используемые DLL или EXE-файлы. Тем не менее, большинство водителей и услуг Можно быть перезапущен независимо от остальной части компьютера, чтобы вы могли технически остановить все процессы, используя файл, заменить файл и перезапустить их все снова. Но в большинстве случаев, когда этот список процессов велик, проще просто попросить пользователя перезагрузиться.

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

Dean Harding
источник
1

Когда вы заменяете ядро ​​операционной системы, гораздо проще перезагрузить операционную систему, чем пытаться заменить ядро ​​во время работы.

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

Замена системной стандартной библиотеки C может оправдать перезагрузку: вам все равно придется перезапустить все процессы в системе, чтобы в любом случае использовать новую библиотеку C Но вы можете просто /sbin/telinit u чтобы заставить init использовать новую библиотеку, перезапустите все ваши службы, затем перезапустите X, если вы ее запускаете, и все будет сделано без перезагрузки.

Так что это требуется только ядру.

sarnold
источник
0

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

Ничего такого. На этом настаивают адвокаты. Там нет технической причины для перезагрузки. Это все просто пух.

Что может сделать установка приложения так, что может потребоваться перезагрузка?

Любая общесистемная настройка, которая изменилась. Что-нибудь в /etc, например. Некоторые приложения включают исправления ядра и драйверы. Множество технических изменений в конфигурации ОС может привести к перезагрузке.

проще просто заставить пользователя перезагрузиться, чем реализовать какое-то решение без перезагрузки

Какие? Что такое «решение без перезагрузки»?

S.Lott
источник
Решение без перезагрузки - это решение для установки, при котором вы не перезагружаетесь.
Smashery
Вы не можете серьезно относиться к адвокатам. Как уже упоминали другие, это зависит от O / S, но на Windows есть законные причины для перезагрузки. Существуют также установщики приложений, которые просят вас перезагрузить компьютер без уважительной причины. Я использую бесплатную программу WhyReboot, чтобы узнать, что происходит.
boot13