La ksh permette di lanciare uno o piu' comandi come processi in background. Questi processi sono chiamati coprocesses e sono utilizzati per comunicare con un programma. Un coprocess si crea mettendo l'operatore |& (pipe, ampersand) dopo un commando. Entrambi stdin e stdout del commando sono piped verso il tuo script. Un coprocess deve incontrare le seguenti restrizioni: · Includi un new-line alla fine di ogni messaggio · Manda ogni messaggio di output allo standard output · Pulisce il suo stdout dopo ogni messaggio L' esempio dimostra come l'input e' passato verso e ritornato da un coprocess: echo "Initial process" ./FileB.sh |& read -p a b c d echo "Read from coprocess: $a $b $c $d" print -p "Passed to the coprocess" read -p a b c d echo "Passed back from coprocess: $a $b $c $d" FileB.sh echo "The coprocess is running" read a b c d echo $a $b $c $d L'output risultante e' il seguente: Initial process Read from coprocess: The coprocess is running Passed back from coprocess: Passed to the coprocess Il comando 'print -p' ti permette discrivere verso il coprocess. Per leggere dal coprocess, lancia il comando 'read -p'.