Quel est le meilleur moyen de communiquer entre deux exécutions Python distinctes ? Les choses que j'ai essayées :
- lecture/écriture sur des tuyaux nommés, par exemple
os.mkfifo
(c'est un peu comme si c'était un jeu d'enfant) -
dbus
services (fonctionnait sur le bureau, mais trop lourd pour le headless) - sockets (semble trop bas niveau ; il y a sûrement un module de plus haut niveau à utiliser)
Mon exigence de base est de pouvoir exécuter python listen.py
comme un démon, capable de recevoir des messages de la part de python client.py
. Le client doit simplement envoyer un message au processus existant et se terminer, avec le code de retour 0
en cas de succès et non nulle en cas d'échec (c'est-à-dire qu'une communication bidirectionnelle sera nécessaire).