Bonjour à tous,
je cherche à faire communiquer un script bash et un programme C.
Le programme C attend, dans une boucle infinie, l'entrée d'une commande sur stdin ('q\n' pour quitter par exemple).
Je cherche donc à utiliser mon programme bash pour déclencher les commandes sur Stdin. (Le bash me sert de "ui", puisqu'il remplit automatiquement les arguments de l'appel de mon programme en fonction des choix de l'utilisateur).
Cependant, au moment de quitter le programme c, j'ai plusieurs problèmes :
- echo 'q' >& 0 (qui est sensé écrire sur stdin) m'affiche q, et ne mets rien dans le flux que vérifie le programme C
- en utilisant un fichier tampon, je peux déclencher les commandes, mais à chaque itération de la boucle, il considère qu'une commande a été entrée (ce qui génère des traces, et n'est pas idéal pour la vitesse d'exécution)
Quelqu'un a une idée pour rediriger 'q\n' sur stdin en bash et être lu ensuite ensuite par le programme C (en tache de fond ) ?
Partager