Re: Pipe/redirect
Nicu <[email protected]> Sat, 28 Jul 2018 05:37:12 +0300
| Newsgroups | gmane.org.user-groups.rlug.general |
|---|---|
| Message-ID | <CACT9Vvw08g2BmSTAUdEocSZaUVj-Y5=PCrKdXG4-E-hyyC-jhw@mail.gmail.com> |
2018-07-28 1:53 GMT+03:00 MOROIANU Dragos <[email protected]>: > [dmoroianu@hpchn01 ~]$ mkfifo t.bc > > [dmoroianu@hpchn01 ~]$ bc < t.bc > acum intr-un alt terminal: > [dmoroianu@hpchn01 ~]$ echo "2+3" > t.bc > programul afiseaza '5' si iese fara sa mai astepte comanda 'quit'. > Cum conving programul sa astepte si alte comenzi si sa iasa doar dupa ce ii trimit 'quit'? mkfifo t.bc bc < t.bc ... exec 7>t.bc echo 2 + 3 >&7 echo 4 + 5 >&7 ideea e sa tii FIFO-ul deschis; altfel, in momentul in care o comanda de forma 'foo >out' a fost executata, toti descriptorii care au fost deschisi prin redirectionari sint inchisi, indiferent daca 'foo' e un proces separat sau o comanda built-in; iar cind capatul de scriere al unui FIFO e inchis, procesul din celalt capat primeste un EOF.