Während des yum-Updates wird die Python-Installation aktualisiert. Muss ich laufende Programme neu starten?


7

Wie der Titel schon sagt. Wenn ich ein yum-Update ausführe (es ist eine CentOS-Box) und zufällig ein Python-Update vorliegt. Was passiert, wenn andere Benutzer Python-Programme ausführen? Muss ich sie benachrichtigen, um die Programme neu zu starten? Oder können sie diese Programme grundsätzlich unbegrenzt weiter ausführen, wenn sie möchten?

Anders fragen: Wird die alte Python-Version so lange auf dem System (Festplatte) gespeichert, wie noch ein Prozess offen ist? Oder überschreibt das Update sofort die vorhandene Python-Installation / Binärdatei? Bestehende Prozesse werden also nur fortgesetzt, weil der Python-Interpreter vollständig im Speicher geladen ist?

Antworten:


3

Ja.

Nun, Sie nicht brauchen , wie SVW zu Recht darauf hingewiesen, aber Sie sollten . Programme werden weiterhin ausgeführt, aber je nachdem, wie sie geschrieben wurden, besteht die theoretische Möglichkeit, dass sie versuchen, nach dem Update neuere und inkompatible Pakete zu laden.

Bearbeiten, Um Ihre "anders gestellte" Frage zu beantworten: Ja - geöffnete Dateien können mit POSIX gelöscht werden, aber dies verbirgt sie effektiv nur vor anderen Prozessen, bis sie definitiv gelöscht werden können, wenn das geöffnete Handle freigegeben wird. Einige C-API-Informationen auf SE.SO.


Ich habe die Frage mit einigen weiteren Fragen aktualisiert, hmm! :)
Ivan Kovacevic

1
Und jetzt ist die Antwort etwas detaillierter.
Roman

4

Aus allgemeiner Sicht können aktualisierte Programme so lange ausgeführt werden, wie Sie möchten, aber natürlich sind Korrekturen im Python-Interpreter nicht verfügbar, bevor Sie sie neu starten. Überprüfen Sie die Änderungsprotokolle, um festzustellen, ob Sie davon betroffen sind.


Das ist verständlich. Ich wollte nur sicherstellen, dass die aktuelle (alte) Installation, von der aus diese Programme gestartet wurden, nicht instabil wird. Zum Beispiel, wenn Python Teile / Module von sich selbst dynamisch lädt oder entlädt.
Ivan Kovacevic

1
Wenn ein Programm Module dynamisch lädt, besteht die Möglichkeit, dass Sie die neuere Version nach dem Update laden. Die alte Version ist verfügbar, wenn offene, bereits vorhandene Dateizeiger darauf im Speicher vorhanden sind. Alle neuen Dateizeiger werden jedoch auf die neuere Version übertragen.
John
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.