Say Ho tre programmi: generatore, che produce dati di ingresso alimentati al processore e verificatore che può verificare se il processore l'output è corretto per input dato (quindi ha bisogno di entrambi i file).Duplicate stdout, pipe a due comandi differenti, raccogliere risultati sia per stdin del programma finale
Quello che attualmente faccio è:
generatore> in.txt & & processore < in.txt> out.txt & & cat in.txt out.txt | verificatore
È possibile ottenere lo stesso risultato senza utilizzare file espliciti? Ho letto di duplicare gli input usando Tee e la sostituzione dei processi, ma non ho trovato un modo per raccogliere entrambi i flussi in uno solo per il passaggio finale.
penso che ho provato questo approccio, e non ha funzionato perché non v'è alcuna garanzia che in.txt sarà fatto per iscritto dal prima che il verificatore inizi a leggerlo (quindi ha finito per leggere il file vuoto). –
È dovere di ogni processo verificare la validità dei parametri di input. Basta tornare se i parametri di input non sono validi. –
@KimStrauss, se vuoi sincronizzare le linee 'generator' e' processor' con 'verifier', devi fare in modo che' processor' esegua l'interleaving. Altrimenti basta fare qualcosa seguendo le linee date dalla risposta di DavideBerra: Stuff emette da qualche parte, quindi chiama 'verificatore 'su entrambi. – vonbrand