Savoir si le programme lancé par Python est terminé
zannguyen
Messages postés6Date d'inscriptionjeudi 3 septembre 2009StatutMembreDernière intervention24 novembre 2009
-
15 sept. 2009 à 15:11
zannguyen
Messages postés6Date d'inscriptionjeudi 3 septembre 2009StatutMembreDernière intervention24 novembre 2009
-
22 sept. 2009 à 09:22
Bonjour à tous,
Je fais un petit script avec Python qui permet d'appeler un autre programme à exécuter. Cet appel est réalisé quand on clique sur un bouton. Je fais comme suivant:
nohup est en effet pour ne pas apparaître des contenus du programme sur l'écran mais les enregistrer sur le fichier nohup.out.
La durée d'exécution de mon programme est souvant longue (1 jour).
Ma question est: comment faire apparaître un message d'annonce une fois mon programme est terminé? Et éventuellement comment rendre le cursor (souris) en état "attente" quand mon programme est en cours?
Tout dépend de l'interface graphique
Avec TkInter la commande est:
zone_perso.configure(cursor = "watch") #Sablier
zone_perso.configure(cursor = "arrow") #Fleche
zannguyen
Messages postés6Date d'inscriptionjeudi 3 septembre 2009StatutMembreDernière intervention24 novembre 2009 16 sept. 2009 à 17:46
Merci pour votre réponse, j'ai essayé avec Linux Ubuntu et la commande sugérée marche bien dans le cas si j'enlève nohup dans ma commande. C'est à dire, si je fais:
os.system('mon_program mon_fichier')
à la fin du programme, python imprime "OK Traitement termine" sur l'écran.
Cependant, si je lance la commande avec nohup comme précédemment, le message "OK Traitement termine" apparaît tout suite après le lancement, malgré que le programme est toujours en cours d'exécution.
lespinx
Messages postés106Date d'inscriptionlundi 9 octobre 2006StatutMembreDernière intervention23 novembre 202277 16 sept. 2009 à 22:04
Bonsoir,
Désolé je ne connais pas l'environnement Linux Ubuntu.
J'ai trouvé ça sur le Net:
..Nohup est une commande Unix permettant de lancer un processus qui restera actif même après la déconnexion de l'utilisateur l'ayant initiée. Combiné à l'esperluette qui permet le lancement en arrière-plan, nohup permet donc de créer des processus s'exécutant de manière transparente sans être dépendants de l'utilisateur...
Je comprends ça de la façon suivante:
1)Commande sans "nohup" :
l'interface utilisateur et le processus restent en communication.
En fin de processus le code retour est renvoyé à l'interface utilisateur.
2)Commande avec "nohup" et &
l'interface utilisateur et le processus ne sont plus en communication.
L'interface utilisateur envoie la commande qui déclenche le processus et le code retour est renvoyé dès que la commande est passée.