Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Programme, entré/sortie -> socket

3 réponses
Avatar
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.

=C7a marche tres bien...

Ce prog =E9coute sur un port pour une GUI, je le pilote avec =E7a...

Le probl=E8me; 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=E9 utilis=E9 le port de la GUI; mais voila; le protocole est assez
complexe, et surtout si la GUI est lanc=E9, je ne peu pas me connect=E9 a
ce port (1 seul client a la fois....)
Donc, je pensais attaqu=E9 le prog par son autre point d'entr=E9, 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=E8me c'est que comme je lance mon processus actuellement, je
n'ai pas acces au E/S...
Mon id=E9e, c'est de faire un autre python, qui serait lanc=E9 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=E9 sur le net, des solution a base de nc ou socat pourrais faire
=E7a ?
Mais je ne connais pas du tout ces commandes...

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

Merci d'avance

3 réponses

Avatar
Luc.Habert.00__arjf
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.

Avatar
condo4
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


Avatar
Samuel Colin
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.