Bibliothèque de services unix python

J’ai une application python en ligne de commande qui est un service – c.-à-d. Qu’elle attend des connexions et fait des choses quand on lui demande, comme le serveur Web. Il existe une bibliothèque python-daemon pour traiter tous les problèmes de détachement du terminal, de falsification, etc., mais je voudrais aller un peu plus loin: le programme doit faire ce qui suit:

  1. Savoir si c’est déjà en cours d’exécution ou non (en vérifiant le fichier PID)
  2. Lorsqu’il est appelé avec l’option ‘start’, il doit démarrer le démon s’il ne fonctionne pas ou indiquer le PID de celui qui existe et quitter le programme s’il est en cours d’exécution.
  3. Appelé avec l’option ‘stop’, il devrait tuer l’instance en cours d’exécution si elle existe et nettoyer le fichier PID.
  4. Lorsqu’elle est appelée avec l’option ‘restart’, elle doit s’arrêter, puis démarrer
  5. Appelé avec l’option ‘status’, il devrait afficher le PID de l’instance en cours d’exécution ou rien s’il n’est pas en cours d’exécution.

Si cela ressemble au service Unix standard, c’est exactement ce que je veux. Existe-t-il une bibliothèque Python qui implémente un tel modèle?

J’ai utilisé cette recette. Fonctionne plutôt bien.

http://www.jejik.com/articles/2007/02/a_simple_unix_linux_daemon_in_python/