Ho bisogno di realizzare un programma c che fa questo:

Avvia un programma esterno,
cattura lo standard output durante l'esecuzione e a seconda di ciò che scrive deve fare delle operazioni.

Mi spiego meglio:

Facciamo finta di avere un programma (esempio.c) che stampa a video un elenco di numeri (da 1 a 1000).
Io devo creare un programma che manda in esecuzione il programma e continuamente monitora cosa stampa!
Non appena stampa il numero 345 deve killare il processo che sta stampando i numeri.

Ho pensato di usare la funzione fork x sdoppiare il processo in modo che mentre uno manda in esecuzione esempio.c l'altro possa controllare lo standard output. Però non so come fare a controllare costantemente l'output.

Qualcuno può aiutarmi?

Vi ringrazio in anticipo