OVH Cloud OVH Cloud

manipulation demon xinetd

2 réponses
Avatar
Christophe PEREZ
Bonjour,

J'ai un démon (xteld) lancé par xinetd.
Je cherche à faire une action avant (interrompre le démon d'attente du
fax : faxgetty) et après (relancer l'attente de fax) le lancement de ce
démon.
En clair, je veux que l'appel client xtel, avant de lancer le démon
xteld, interrompe la détection de fax, puis lance xteld, et après,
relance la détection de fax.
Or, je ne trouve pas dans xinetd d'option du genre pre_launch et
post_launch qui me simplifierait la vie.

Par conséquent, j'aurais voulu faire un petit script qui fasse le
nécessaire, mais j'ai du mal à voir comment établir ensuite la
communication entre le client et le démon xteld.
Si je fais :
read PARAM | xteld
à priori, xteld doit bien recevoir le paramètre (non?), mais comment
faire pour que sa "sortie" soit renvoyée au client ?
J'imagine bien qu'il faudra jouer avec un
while read PARAM ; do
printf '%s\n' "$PARAM" | xteld
done
Mais comment renvoyer le retour au client ?
Et ensuite, j'imagine qu'il faudra que je connaisse la commande de fin
(exit peut-etre selon le man de xtel)

Je sais que ça doit paraître assez bête comme question mais bon...

Merci d'avance.

--
Christophe PEREZ
Écrivez moi sans _faute !

2 réponses

Avatar
Yves
Salut,


J'ai un démon (xteld) lancé par xinetd.
Je cherche à faire une action avant (interrompre le démon d'attente du
fax : faxgetty) et après (relancer l'attente de fax) le lancement de ce
démon.
En clair, je veux que l'appel client xtel, avant de lancer le démon
xteld, interrompe la détection de fax, puis lance xteld, et après,
relance la détection de fax.
Or, je ne trouve pas dans xinetd d'option du genre pre_launch et
post_launch qui me simplifierait la vie.


Oui, le redémarrage de faxgetty est un peu mystèrieux, au moins pour moi.
Mais, sous MDK, lors d'une connexion internet il s'efface automatiquement
pour redevenir actif à la fin de la connexion et sans jouer sur
/etc/initab.
On pourrait penser qu'il en est de même avec Xtel ?

Peut-être qu'une lecture du script /etc/rc.d/init.d/hylafax-server t'aidera,
il contient des lignes du type :

faxgettyreset() {
if pidofproc faxgetty > /dev/null
then
if killproc faxgetty
then
gprintf "Restarting FaxGetty...n"
fi
init q
fi

Yves

Avatar
Christophe PEREZ
Le Sun, 15 Feb 2004 15:51:15 +0100, Yves a écrit:

Oui, le redémarrage de faxgetty est un peu mystèrieux, au moins pour
moi.


Nop ! :-)
C'est le fait qu'il soit, en tout cas chez moi, en respawn dans
/etc/inittab :
t0:2345:respawn:/usr/sbin/faxgetty modem

Mais, sous MDK, lors d'une connexion internet il s'efface
automatiquement pour redevenir actif à la fin de la connexion et sans
jouer sur /etc/initab.


Je pense que c'est une question de verrou /var/lock/LCK..modem, à
condition bien sûr que les 2 soient configurés pour utiliser le même
verrou bien sûr, et non pas un sur le /dev/modem, et l'autre sur
/dev/ttyS*

On pourrait penser qu'il en est de même avec Xtel ?


Ben justement, non, malheureusement.

Peut-être qu'une lecture du script /etc/rc.d/init.d/hylafax-server
t'aidera, il contient des lignes du type :
[...]


Non, là je doute, car je ne souhaite rien changer à hylafax moi ;-)
Je veux juste pourvoir moduler le lancement et la terminaison d'un démon
xinetd, mais comme xinetd ne semble pas (à ma vue) le permettre (sinon je
serai HS ici), je veux trouver le moyen de mettre un filtre au milieu sans
interrompre la communication entre client et démon.

Merci quand même.

--
Christophe PEREZ
Écrivez moi sans _faute !