ascovale
04-08-2012, 11:59
salve a tutti :D ,
ho un dubbio e non so proprio se si possa realizzare!:muro:
Chiamiamo 2 processi A e B
A: manda un comando a B (tramite fifo)
B: è un processo in background riceve il comando e lo esegue.
Dato che B è in background vorrei redirezionare l'input e l'output ad A (che lo deve perciò gestire).
Parte di questo lo posso realizzare tramite una system, gli operatori "< >" e 2 fifo, per convenenzia le chiamo fifoinput e fifooutput.
Ora cerco di esporre il problema che si trova in A.
Il processo A dopo aver inviato il comando si trova in attesa di input e/o output (sulle fifoinput e fifooutput) finchè non viene terminato il comando da B (A può essere anche forkato in modo di dividersi i compiti tra input e output).
Di preciso per stampare a video l'output A effettua una read sulla fifooutput e successivamente una printf.
Il problema è che non sono in grado di sapere la quantità di byte da leggere e neppure il tipo di dato... se fosse solo un tipo di dato si potrebbe risolvere facilmente ma non tutti i comandi accettano ad esempio caratteri.
si propone più o meno lo stesso problema con la write, ma, non sono in grado di sapere il tipo e la quatità di dati da leggere da tastiera.
Si può realizzare in qualche modo???:help:
Ciao e grazie in anticipo!!!
P.S. sistema operativo: "ubuntu 10.04"
ho un dubbio e non so proprio se si possa realizzare!:muro:
Chiamiamo 2 processi A e B
A: manda un comando a B (tramite fifo)
B: è un processo in background riceve il comando e lo esegue.
Dato che B è in background vorrei redirezionare l'input e l'output ad A (che lo deve perciò gestire).
Parte di questo lo posso realizzare tramite una system, gli operatori "< >" e 2 fifo, per convenenzia le chiamo fifoinput e fifooutput.
Ora cerco di esporre il problema che si trova in A.
Il processo A dopo aver inviato il comando si trova in attesa di input e/o output (sulle fifoinput e fifooutput) finchè non viene terminato il comando da B (A può essere anche forkato in modo di dividersi i compiti tra input e output).
Di preciso per stampare a video l'output A effettua una read sulla fifooutput e successivamente una printf.
Il problema è che non sono in grado di sapere la quantità di byte da leggere e neppure il tipo di dato... se fosse solo un tipo di dato si potrebbe risolvere facilmente ma non tutti i comandi accettano ad esempio caratteri.
si propone più o meno lo stesso problema con la write, ma, non sono in grado di sapere il tipo e la quatità di dati da leggere da tastiera.
Si può realizzare in qualche modo???:help:
Ciao e grazie in anticipo!!!
P.S. sistema operativo: "ubuntu 10.04"