El Actualizador de software update-manager
aparece y muestra actualizaciones de seguridad para Firefox, por ejemplo. Naturalmente, haré clic en "Instalar ahora" para continuar.
Sin embargo, ¿qué sucede si todavía tengo Firefox ejecutándose cuando hago esto? ¿Seguirá actualizando Firefox? ¿Se saltará la actualización y volverá a aparecer la próxima vez? ¿La actualización obligará a Firefox a cerrarse y tal vez bloquearse? ¿Solo actualizará parcialmente el software y posiblemente interrumpirá mi instalación de Firefox?
Respuestas:
Debes estar pensando en Windows. Unix lo hizo bien, y luego, apareció Windows y desarrolló formas incorrectas de hacer las cosas.
Con Windows, reemplazar un archivo que está en uso por un proceso en ejecución puede afectar gravemente ese proceso. El proceso hará referencia a ubicaciones dentro de ese archivo y obtendrá información incorrecta del mismo, generalmente con resultados catastróficos. Es por eso que una actualización de Windows generalmente requiere un reinicio para garantizar que todos los procesos estén utilizando versiones correctas de bibliotecas, etc.
Con Unix, una vez que un proceso ha abierto un archivo, ese mismo archivo siempre estará disponible para el proceso, incluso si el archivo original se elimina del sistema de archivos .
Después de una actualización, el sistema de archivos contendrá una versión diferente del archivo, y todos los procesos que comiencen después de la actualización usarán ese nuevo archivo. Pero, a diferencia de Windows, todos los procesos antiguos de Unix continuarán usando los archivos originales con los que comenzaron. Aunque ya no se puede acceder a través del sistema de archivos, esos archivos persistirán mientras cualquier proceso los esté utilizando. Finalmente, cuando ningún proceso esté utilizando los archivos, la versión anterior de los archivos finalmente se eliminará.
Por supuesto, puede decidir reiniciar Firefox (u otros procesos) si desea obtener los beneficios de la actualización de inmediato. La decisión es tuya.
fuente
Por lo general, actualizar un programa mientras ya está abierto no es un problema, como han explicado los demás respondedores, un proceso en ejecución puede continuar ejecutándose incluso si se elimina su ejecutable.
Sin embargo, debido al modelo multiproceso de Firefox, puede recibir un mensaje para reiniciarlo después de una actualización de todos modos. Esto se debe a que Firefox genera nuevos procesos para aislar diferentes sitios web, por lo que si genera un nuevo proceso después de haberlo actualizado, pero antes de reiniciar Firefox, el nuevo proceso será una versión más nueva de Firefox que el resto del navegador. Esto puede causar varios problemas, por lo que Firefox puede solicitarle que lo reinicie antes de permitirle continuar.
Por cierto, Chrome evita esto mediante el uso de un proceso "cigoto" que se sienta sin hacer nada; cuando el navegador necesita generar un nuevo proceso, en lugar de pedirle al sistema operativo que ejecute nuevamente el ejecutable del navegador (que ejecutaría el binario posiblemente actualizado), le pide al proceso cigoto que se duplique, y una de las copias se convierte en un renderizador normal proceso.
fuente