Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 16-10-2011 20:51:39

zoroastre74
Membre
Distrib. : Debian Wheezy
Noyau : Linux 3.2
(G)UI : Awesome wm v3.4.13 (Octopus)
Inscription : 28-08-2010

[RESOLU] Daemoniser un script python

Yep!

Le contexte : Je possède un pc serveur sous debian (off course) avec un accés ssh. Sur ce poste informatique, y est connecté un microcontrolleur via le port usb. Ainsi, j'accéde par le réseau au fonctionnalité de ce dernier, à but domotique essentiellement.

En ce qui concerne l'aspect logiciel, j'ai concocté deux scripts écrit en python, le serveur et le client. Le serveur fonctionne en fait comme un proxy entre le port usb (affilié à un port série) et le réseau. Le client, lui, interroge uniquement la couche tcp.

Maintes essais à mano, me confirment que mes scripts fonctionnent parfaitement. La connection est réalisée et toutes les interfaces répondent correctement.

Je passe donc à l'étape suivante : mettre mon server en tant que service, un daemon quoi !

Et là, rien ne va plus !!! Le service est lancé, mon client semble faire la liaison avec le serveur, mais par contre, je ne recois plus les infos provenant de mes interfaces.

root       749  2.2  0.9  24288  4652 ?        Sl   20:42   0:02 /usr/bin/python /home/domoapp/current/domoserver.py


Je bloque...Est-ce un problème de création du service, d'autorisations,... ???

test1 :

#! /bin/sh
# . /etc/rc.d/init.d/functions  # decommente/modifie pour votre killproc
### BEGIN INIT INFO
# Provides: Serveur domotique
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description:
# Description:
### END INIT INFO
case "$1" in
    start)
        echo "Demarrage de server.py"
        /usr/bin/python /home/domoapp/current/server.py &
        ;;
    stop)
        echo -n "Arret de server.py non requis."
        ;;
    *)
    echo "Usage: $0 {start|stop}"
    exit 1
esac
exit 0


test2 :

#!/bin/sh
### BEGIN INIT INFO
# Provides:          domoserver
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Example initscript
# Description:       This file should be used to construct scripts to be
#                    placed in /etc/init.d.
### END INIT INFO

PIDFILE=/var/run/domoserver.pid

case "$1" in
  start)
    echo "Starting domo python server"
    /sbin/start-stop-daemon --start --pidfile $PIDFILE --make-pidfile --exec /usr/bin/python /home/domoapp/current/domoserver.py
    ;;
  stop)
    echo "Stopping domo python server"
    /sbin/start-stop-daemon --stop --pidfile $PIDFILE --verbose
    ;;
  *)
    echo "Usage: /etc/init.d/domoserver.sh {start|stop}"
    exit 1
    ;;
esac

exit 0


@+

Zoroastre.

Dernière modification par zoroastre74 (16-10-2011 21:04:49)

Hors ligne

#2 16-10-2011 21:03:56

zoroastre74
Membre
Distrib. : Debian Wheezy
Noyau : Linux 3.2
(G)UI : Awesome wm v3.4.13 (Octopus)
Inscription : 28-08-2010

Re : [RESOLU] Daemoniser un script python

Yep!

Erreur de frappe tongue

En écrivant le message précedent, j'ai remarqué une erreur. Comme quoi lire et écrire sont deux choses différentes lol

j'avais dans test2 :

##!/bin/sh
...


@+

Zoroastre.

Dernière modification par zoroastre74 (16-10-2011 21:05:29)

Hors ligne

Pied de page des forums