Programme, entré/sortie -> socket

Le
condo4
Bonjour,

Je cherche a faire un truc, mais je en sais pas comment m'y prendre

Sous debian
Voila, j'ai un programme que je veux lancer en temps que service
Je me suis fait un script d'init en prenant exemple sur les autres
avec start-stop-daemon.

Ça marche tres bien

Ce prog écoute sur un port pour une GUI, je le pilote avec ça

Le problème; je suis en train de me faire une petite page web de
pilotage du serveur, et j'ai besoin de certaine info de ce
processus
Je pensé utilisé le port de la GUI; mais voila; le protocole est assez
complexe, et surtout si la GUI est lancé, je ne peu pas me connecté a
ce port (1 seul client a la fois.)
Donc, je pensais attaqué le prog par son autre point d'entré, les E/S
standard.
En effet, lorsque l'on lance ce prog dans le shell, il y a une
interaction simple : la commande "s" retourne le status qui contient
toute les info que je souhaite
Donc, mon but est simple, ecrire par exemple un python qui envoi "s"
au prog et affiche le resultat.

Le problème c'est que comme je lance mon processus actuellement, je
n'ai pas acces au E/S
Mon idée, c'est de faire un autre python, qui serait lancé par start-
stop-daemon, et qui lancerais le processus en redirigeant les E/S sur
un socket par exemple (ou un pipe nommer non ?).
Mais je ne sais pas trop comment m'y prendre, surtout que apres avoir
cherché sur le net, des solution a base de nc ou socat pourrais faire
ça ?
Mais je ne connais pas du tout ces commandes

Si vous pouviez me donner votre avis, et des solutions ou des
idées ;-)

Merci d'avance
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Luc.Habert.00__arjf
Le #1918112
condo4 :

Donc, je pensais attaqué le prog par son autre point d'entré, les E/S
standard.
En effet, lorsque l'on lance ce prog dans le shell, il y a une
interaction simple : la commande "s" retourne le status qui contient
toute les info que je souhaite...
Donc, mon but est simple, ecrire par exemple un python qui envoi "s"
au prog et affiche le resultat.


Le plus simple est de le lancer dans un screen.

condo4
Le #1918111
On 19 fév, 16:53, (Luc Habert)
wrote:
condo4 :

Donc, je pensais attaqué le prog par son autre point d'entré, les E/ S
standard.
En effet, lorsque l'on lance ce prog dans le shell, il y a une
interaction simple : la commande "s" retourne le status qui contient
toute les info que je souhaite...
Donc, mon but est simple, ecrire par exemple un python qui envoi "s"
au prog et affiche le resultat.


Le plus simple est de le lancer dans un screen.


A oui, je n'y avais pas pensé, et ensuite, avec mon python, j'ecris
dans un truc comme /dev/pt.... mais pour recupérer le resultat de la
commande ?

Le but final; c'est que j'affiche le status sur une page web donc...


Merci de la piste


Samuel Colin
Le #1918109
Dixit condo4 :

A oui, je n'y avais pas pensé, et ensuite, avec mon python, j'ecris
dans un truc comme /dev/pt.... mais pour recupérer le resultat de la
commande ?

http://en.wikipedia.org/wiki/Expect


Il y a d'autres versions dans d'autres langages (j'ai utilisé l'une
d'entre elles), ça marche plutôt bien. La version Python:
http://sourceforge.net/projects/pexpect/
Mais plus grand rapport avec Linux, là. C'est plus une question de
programmation Unix en général.

Publicité
Poster une réponse
Anonyme