Das Python-Programm wird wieder gestartet, nachdem der PC aufgewacht ist.

15

Ich führe ein Python-Programm aus, das einige Stunden in Anspruch nimmt. Wenn ich den Deckel meines Laptops schließe (dh in den Ruhezustand versetze), wird das Programm erneut gestartet, wenn ich meinen Laptop wieder öffne? Es ist schon ein paar Stunden her und ich muss bald gehen (also muss ich meinen Laptop schließen), aber ich möchte den Prozess nicht erneut starten. Wird das Programm genau an derselben Stelle starten? Was ist das Standardverhalten in Ubuntu 16.04?

Zu Ihrer Information, ich führe eine Kreuzvalidierung für einen Klassifizierer durch, der keine Netzwerkressourcen verwendet - nur CPU und RAM.

BourbonCreams
quelle

Antworten:

29

Die einfache Antwort lautet ja, aber die Wahrheit ist etwas komplizierter.

Ja, die Anwendung wird weiterhin ausgeführt. Es wird mit dem Rest der Systemprozesse fortgesetzt. Es gibt jedoch Statusmeldungen wie Netzwerkverbindungen und Grafiktreiberstatus. Diese müssen mit externer Hardware neu initialisiert werden. Dies kann zunächst zu einer erhöhten Netzwerklatenz führen oder sogar zu einer ordnungsgemäßen Unterbrechung der Verbindung (wie bei Ethernet). In besonders schwierigen Situationen - definitiv Ausnahmen von der Regel - kann die gesamte Desktop-Umgebung abstürzen und neu gestartet werden.

Also kann ich nicht garantieren, was mit dir passieren wird. Wenn Ihre Anwendung abstürzt, wenn die Netzwerkverbindung unterbrochen wird, liegt möglicherweise ein Problem vor. Wenn es sich um Rendering oder CUDA / OpenCL-Inhalte handelt, kann es zu Fehlern kommen.

Wenn es sich nur um eine normale CPU / Festplatte handelt, sollte es in Ordnung sein.
Aber wer weiß mit Sicherheit. Computer machen uns alle zum Narren.
Viel Glück.

Oli
quelle
Sie hatten Recht, mein Programm wurde erneut gestartet, nachdem ich meinen Laptop geöffnet hatte, und es wurde schließlich wie erwartet beendet. OT: Glauben Sie, dass sich die Zeit, die mir wichtig war (sie kam um 23 Stunden zurück), auf die laufende Zeit oder den bloßen Unterschied zwischen der Endzeit und der Anfangszeit bezieht? Oder ist es nicht möglich zu sagen?
BourbonCreams
Du meinst, du hast es mit dem timeeingebauten gemacht? zBtime ./myscript.py
Oli
Nein, die Methode, die ich verwende (cross_validation.cross_val_score) und deren Parameter verbose auf True gesetzt ist, wird zur Endgenauigkeit und Laufzeit ausgegeben.
BourbonCreams
"Computer machen uns alle zum Narren." So wahr!
Paddy Landau
6

Wenn Sie das System anhalten (in den Energiesparmodus versetzen), werden alle CPU-Register usw. gespeichert, die den aktuellen Arbeitsspeicher darstellen, und die meisten Komponenten außer denjenigen, die den RAM-Inhalt beibehalten, und denjenigen, die zum Aufwecken des Computers erforderlich sind, werden heruntergefahren später wieder auf (Eingabegeräte usw.).

Wenn Sie ihn später wieder aktivieren, wird der vorherige Status wiederhergestellt und der Computer wird genau an der Stelle fortgesetzt, an der Sie ihn angehalten haben.

Das ist das Hauptkonzept, in der Realität passiert natürlich mehr, weil all dies nicht auf magische Weise passiert, wenn man mit den Fingern schnippt. Es sind viele Systemskripte usw. beteiligt, die vor dem Anhalten und nach dem Aufwachen ausgeführt werden.

Wenn Sie dies jedoch nicht manuell einrichten, werden durch das Anhalten des Computers keine laufenden Anwendungen geschlossen. Es besteht ein geringes Risiko, dass dabei etwas abstürzt, aber normalerweise funktioniert es immer, wenn es einmal funktioniert hat.

Byte Commander
quelle
2

Wenn der Laptop in den Ruhezustand geht (= Suspend), auf jeden Fall ja. Das Einzige, was gestört werden kann, sind Netzwerkverbindungen oder ähnliches in Echtzeit. In diesem Fall hängt es davon ab, ob das ausgeführte Programm sicher geschrieben wurde, um temporäre Fehler zu akzeptieren und wiederherzustellen.

Wenn sich der Laptop ausschaltet , definitiv nicht - es gibt irgendwo in der Systemsteuerung eine Option, um zwischen den beiden Verhaltensweisen zu entscheiden, denke ich.

Rmano
quelle
2

Wenn Sie sicher sein möchten, können Sie Ihren Computer so auswählen, dass er bei geschlossenem Deckel keine zusätzlichen Aktionen ausführt, und zwar über die Energieoptionen in der Systemsteuerung. Das heißt, das Schließen oder Öffnen des Deckels hat keine Auswirkungen auf den Zustand Ihres Computers. Auf diese Weise wird garantiert, dass jedes Programm ohne Unterbrechung ausgeführt wird.

Atayenel
quelle
2
Möglicherweise ist der Akku Ihres Laptops fast leer.
Katze