web-dev-qa-db-fra.com

Le programme Python redémarre après le réveil de l'ordinateur?

J'exécute un programme python qui prend quelques heures. Si je ferme le couvercle de mon ordinateur portable (c'est-à-dire que je le mets en veille), le programme redémarrera-t-il lorsque je rouvrirai mon ordinateur portable? Cela fait déjà quelques heures et je dois partir bientôt (je dois donc fermer mon ordinateur portable) mais je ne veux pas recommencer le processus. Le programme démarrera-t-il exactement au même endroit? Quel est le comportement par défaut dans Ubuntu 16.04?

Fyi, je suis en train d'exécuter une validation croisée pour un classificateur qui n'utilise aucune ressource réseau - uniquement le processeur et la RAM.

15
BourbonCreams

La réponse simple est oui mais la vérité est un peu plus compliquée.

Oui, l'application sera toujours en cours d'exécution; il reprendra avec le reste des processus du système. Cependant, il existe des éléments d'état tels que les connexions réseau et les états des pilotes graphiques. Celles-ci doivent être réinitialisées avec du matériel externe, ce qui peut impliquer une latence réseau supplémentaire, voire une déconnexion-reconnexion appropriée (comme cela m’arrive sur Ethernet). Dans des situations particulièrement difficiles - des exceptions définitives à la règle - tout l'environnement de bureau peut tomber en panne et redémarrer.

Donc, je ne peux pas garantir ce qui va vous arriver. Si votre application se bloque si elle perd la connectivité réseau, il peut y avoir un problème. Si vous effectuez un rendu ou des éléments CUDA/OpenCL, cela pourrait casser.

Si c'est juste un truc simple CPU/disque, ça devrait aller.
Mais qui sait avec certitude. Les ordinateurs font des imbéciles de nous tous.
Bonne chance.

29
Oli

Si l'ordinateur portable passe à veille (= suspendre), définitivement oui. Les seules choses qui peuvent être perturbées sont les connexions réseau ou des choses similaires en temps réel; dans ce cas, cela dépend si le programme en cours d'exécution est écrit en toute sécurité pour accepter les échecs temporaires et récupérer.

Si l'ordinateur portable éteint, absolument pas --- il y a une option quelque part dans le Panneau de configuration pour choisir entre les deux comportements, je pense.

2
Rmano

Si vous voulez en être sûr, vous pouvez choisir que votre ordinateur ne fasse rien de plus lorsque le couvercle est fermé, à partir des options d'alimentation du panneau de configuration. Cela signifie que la fermeture ou l'ouverture du couvercle n'aura aucun effet sur l'état de votre ordinateur. De cette façon, il est garanti que tout programme fonctionnera sans interruption.

2
atayenel