Environnement : Ubuntu récent, les paquets non standard sont OK tant qu'ils ne sont pas trop exotiques.
J'ai un processeur de données bash script qui traite les données de stdin
:
$ cat data | process_stdin.sh
Je peux changer le script.
J'ai un ancien système de production de données (que je ne peux pas modifier) qui se connecte à une machine via SSH et appelle le script, en lui envoyant des données. Pseudocode :
foo@producer $ cat data | ssh foo@processor ./process_stdin.sh
Lancement de l'ancien système ./process_stdin.sh
un million de fois par jour.
Je voudrais garder ./process_stdin.sh
fonctionnant indéfiniment à processor
pour se débarrasser de la surcharge de lancement de processus. Le producteur hérité appellera une sorte de wrapper qui acheminera d'une manière ou d'une autre les données vers le processus réel du processeur.
Existe-t-il un moyen robuste sous Unix pour faire ce que je veux avec un minimum de code ? Je ne veux pas modifier ./process_stdin.sh
(beaucoup) - la réécriture complète est déjà prévue, mais, hélas, pas assez tôt - et je ne peux pas changer de producteur de données.