L'outil de update-manager
mise à jour de logiciels apparaît et affiche des mises à jour de sécurité pour Firefox, par exemple. Naturellement, je clique sur "Installer maintenant" pour continuer.
Cependant, que se passe-t-il si j'ai toujours Firefox en cours d'exécution lorsque je fais cela? Va-t-il toujours mettre à jour Firefox? La mise à jour sera-t-elle ignorée et réapparaîtra-t-elle la prochaine fois? La mise à jour forcera-t-elle Firefox à se fermer et peut-être à planter? Cela ne mettra-t-il que partiellement à jour le logiciel et éventuellement interrompra mon installation de Firefox?
Réponses:
Vous devez penser à Windows. Unix l'a fait correctement, puis plus tard, Windows est arrivé et a développé de mauvaises façons de faire les choses.
Sous Windows, le remplacement d'un fichier en cours d'utilisation par un processus en cours d'exécution peut gravement affecter ce processus. Le processus référencera les emplacements dans ce fichier et en obtiendra des informations incorrectes, généralement avec des résultats catastrophiques. C'est pourquoi une mise à jour Windows nécessite généralement un redémarrage pour s'assurer que tous les processus utilisent les versions correctes des bibliothèques, etc.
Avec Unix, une fois qu'un fichier a été ouvert par un processus, ce même fichier sera toujours disponible pour le processus même si le fichier d'origine est supprimé du système de fichiers .
Après une mise à jour, le système de fichiers contiendra une version différente du fichier et tous les processus qui démarrent après la mise à jour utiliseront ce nouveau fichier. Mais, contrairement à Windows, tous les anciens processus Unix continueront à utiliser les fichiers d'origine avec lesquels ils ont commencé. Même s'ils ne sont plus accessibles via le système de fichiers, ces fichiers persisteront tant que n'importe quel processus les utilisera. Finalement, quand aucun processus n'utilise les fichiers, l'ancienne version des fichiers sera finalement supprimée.
Vous pouvez bien sûr décider de redémarrer Firefox (ou d'autres processus) si vous souhaitez bénéficier immédiatement des avantages de la mise à jour. Le choix t'appartient.
la source
En règle générale, la mise à jour d'un programme alors qu'il est déjà ouvert ne pose aucun problème - comme l'ont expliqué les autres répondeurs, un processus en cours peut continuer à s'exécuter même si son exécutable est supprimé.
Cependant, en raison du modèle multi-processus de Firefox, vous pouvez malgré tout être invité à le redémarrer après une mise à jour. En effet, Firefox génère de nouveaux processus pour isoler différents sites Web, donc s'il génère un nouveau processus après l'avoir mis à jour mais avant de redémarrer Firefox, le nouveau processus sera une version de Firefox plus récente que le reste du navigateur. Cela peut entraîner divers problèmes, donc Firefox peut vous inviter à le redémarrer avant de vous permettre de continuer.
Soit dit en passant, Chrome évite cela en utilisant un processus "zygote" qui s'assoit sans rien faire; lorsque le navigateur doit générer un nouveau processus, au lieu de demander au système d'exploitation d'exécuter à nouveau l'exécutable du navigateur (qui exécuterait le binaire éventuellement mis à jour), il demande au processus zygote de se dupliquer, et l'une des copies devient alors un rendu normal processus.
la source