Question Au cours de la mise à jour, l’installation de Python est mise à jour. Dois-je redémarrer les programmes en cours?


Comme le titre l'indique. Si je lance yum update (c'est une boîte CentOS) et qu'il se trouve qu'il y a une mise à jour Python. Que se passe-t-il si d'autres utilisateurs exécutent des programmes Python? Dois-je les alerter pour redémarrer les programmes? Ou peuvent-ils continuer à exécuter ces programmes en toute sécurité indéfiniment s'ils le souhaitent?

Pour poser une question différente: l'ancienne version de Python est-elle conservée sur le système (disque dur) aussi longtemps qu'un processus est encore ouvert? Ou bien la mise à jour écrase-t-elle immédiatement l’installation / le binaire Python existant? Les processus existants ne continuent donc à s'exécuter que parce que l'interpréteur Python est complètement chargé en mémoire?


7
2017-07-18 11:41


origine




Réponses:


Oui.

Eh bien, vous ne le faites pas avoir besoin, comme le fait remarquer correctement SvW, mais vous devrait. Les programmes continueront de fonctionner, mais en fonction de la manière dont ils ont été écrits, il est théoriquement possible d’essayer de charger des packages plus récents et incompatibles après la mise à jour.

Éditer, pour répondre à votre question "posée différemment": Oui - les fichiers ouverts peuvent être supprimés avec POSIX, mais cela les cache simplement à d’autres processus, jusqu’à ce qu’ils puissent être définitivement supprimés lorsque le descripteur ouvert est publié. Certaines informations C-API disponibles sur SE.SO.


3
2017-07-18 11:55



J'ai mis à jour la question avec quelques questions supplémentaires, hmm! :) - Ivan Kovacevic
Et maintenant, la réponse est un peu plus détaillée. - Roman


D'un point de vue général, les programmes mis à jour peuvent continuer à s'exécuter aussi longtemps que vous le souhaitez, mais bien sûr, les correctifs dans l'interpréteur Python ne seront pas disponibles avant que vous ne les redémarriez. Consultez les journaux des modifications pour voir si cela vous concerne.


4
2017-07-18 11:46



C'est compréhensible. Je voulais juste m'assurer que l'installation (ancienne) actuelle à partir de laquelle ces programmes ont été démarrés ne soit pas instable. Par exemple, si Python charge ou décharge dynamiquement des pièces / modules de lui-même. - Ivan Kovacevic
Si un programme charge de manière dynamique des modules, il est possible que vous chargiez la version la plus récente après la mise à jour. L'ancienne version est disponible s'il existe en mémoire des pointeurs de fichiers ouverts et préexistants, mais tous les nouveaux pointeurs de fichiers accèdent à la version la plus récente. - John