Что произойдет, если я случайно оставлю приложение запущенным и нажму & ldquo; Установить сейчас & rdquo; в Software Updater?

Обновление программного обеспечения update-manager всплывает и показывает обновления безопасности для Firefox, например. Естественно, я нажму «Установить сейчас», чтобы продолжить.

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

22
задан 4 May 2019 в 22:41

2 ответа

Вы должны думать о Windows. Unix сделал это правильно, а затем появилась Windows и разработала неправильные способы ведения дел.

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

В Unix, когда файл был открыт процессом, этот файл всегда будет доступен процессу , даже если исходный файл будет удален из файловой системы .

После обновления файловая система будет содержать другую версию файла, и все процессы, которые запускаются после обновления, будут использовать этот новый файл. Но, в отличие от Windows, все старые процессы Unix будут продолжать использовать исходные файлы, с которых они начали. Даже если они больше не доступны через файловую систему, эти файлы будут сохраняться до тех пор, пока их использует любой процесс. В конце концов, когда файлы не используются никакими процессами, старая версия файлов будет окончательно удалена.

Конечно, вы можете решить перезапустить Firefox (или другие процессы), если хотите сразу воспользоваться преимуществами обновления. Выбор за вами.

0
ответ дан 4 May 2019 в 22:41

Как правило, обновление программы, пока она уже открыта, не представляет проблемы - как объяснили другие авторы, запущенный процесс может продолжать выполняться, даже если его исполняемый файл удален.

Однако, из-за многопроцессной модели Firefox, вы можете получить приглашение перезапустить его после обновления в любом случае. Это , потому что Firefox порождает новые процессы, чтобы изолировать разные веб-сайты, поэтому, если он порождает новый процесс после того, как вы обновили его, но до перезапуска Firefox, новый процесс будет более новой версией Firefox, чем остальные браузера. Это может вызвать различные проблемы, поэтому Firefox может попросить перезапустить его, прежде чем продолжить.

Кстати, Chrome избегает этого , используя процесс «зиготы», который бездействует; когда браузеру необходимо создать новый процесс, вместо того, чтобы просить ОС снова выполнить исполняемый файл браузера (который будет выполнять возможно обновленный двоичный файл), он просит процесс zygote дублировать себя, и одна из копий затем становится обычным средством визуализации. процесс.

0
ответ дан 4 May 2019 в 22:41

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

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