Interactions père-fils
-
On cherche à faire une version simplifiée de la commande
expect.
Le but sera d'interagir avec un programme de façon automatique.
- Le programme (qu'on va appeler
run) est appelé
un argument qui décrit comment se passe l'interaction (par exemple
le nom d'un fichier qui contient le code Perl pour une fonction
interact) suivi d'un ou plusieurs arguments qui
donnent la commande à exécuter (par exemple maple).
- Il crée un process fils qui exécute la commande décrite par ces arguments.
- Le père communique avec le fils à l'aide de pipes.
- Si on tue le père ou le fils, l'autre meurt, proprement.
Faire le programme en Perl.
[corrigé perl : run
et interact]
NB: lire man perlfunc, en particulier la fonction
pipe et aussi la fonction open qui sert
à faire l'équivalent de dup et dup2.
lire aussi man perlipc, par exemple
Bidirectional Communication with Yourself.
-
Faire autrement, avec des files de messages par exemple
(
msgget et autres) ou bien tester open2
(cf. man perlipc).