[python] Réveiller un programme en pause

Bonjour!

Je me demandais comment faire pour mettre un programme en pause, puis le “réveiller” lorsqu’un évènement survient.

Pour l’instant, ce que je fais, c’est une boucle qui vérifie si l’évènement est survenu, avec un time.wait(0.1) à la fin à chaque fois.

Cependant, je me demande s’il n’y a pas une façon plus propre de faire? Et si une bibliothèque existe, aura-t-elle un comportement vraiment différent?

:006

Salut,

Attention Parkinson te guette :laughing:
9:07 ==> 9:12 :laughing:

[quote=“ggoodluck47”]Salut,

Attention Parkinson te guette :laughing:
9:07 ==> 9:12 :laughing:[/quote]
J’ai fais un peu de ménage. :slightly_smiling:

Ça dépend de la nature de l’évènement.

Parkinson? C’est normal si je ne comprend pas? C’est un truc de modo? :slightly_smiling:

L’évènement serait par exemple du type : mpd est en mode lecture.
Ou alors : nouveau fichier créé.

Je ne sais pas quoi chercher, je manque de vocabulaire dans le domaine.

Tu avais créé deux sujets identiques.

Il y a peut être quelque chose de spécifique à MPD, mais pour quelque chose d’applicatif comme ça, en principe il faut passer par dbus (c’est fait pour). L’appli émet un évènement d’un certains type et tout les programmes qui étaient en écoute sur cet évènement sont notifié. Je ne m’en suis jamais servi je sais pas si c’est simple à utiliser ou pas.

Pour la petite histoire, les gens qui réfléchissent au bureau linux du future, travail sur l’utilisation massive de dbus pour presque tout. Grosso modo, gnome à la place de faire un halt, shutdown ou kill -9 -1, enverra un message dbus et le système d’init éteindra la machine, les insertions de clef usb aussi sont gérés comme ça. Comme ça quelque soit le bureau (ou le wm) utilisé, il suffit de se conformer à cette liste d’appel dbus pour retrouver les même fonctions.

Actuellement c’est fait principalement avec systemd/gnome.

Pour ça c’est système et c’est inotify qu’il faut utiliser. Le principe c’est d’écouter certains évènements d’une arborescence (fermeture d’un fichier, suppression, etc).

Désolé pour le double post, je ne m’en était même pas aperçu (je suis un peu loin de mon AP wifi, donc la connexion est un peu taquine et ça pose quelques soucis). Merci de t’en être occupé :slightly_smiling:

Merci pour ta réponse. Je vais du coup me pencher sur dbus, ça semble faisable.

Par contre, pour les petits projets, le time.wait() suffira amplement :slightly_smiling:

HS : python-mpd a été forké, puis porté pour python3 :slightly_smiling: