On Mon, 2016-03-28 at 19:40 +0300, Bogdan Basuc via so wrote: > Salut, > > > Am observat ca daca am un fisier mare (~10M) comanda > > cat big_file | cat > out > > esueaza. Mentionez ca urmatoarele comenzi se executa cu succes: > > cat big_file > cat big_file > out > > Si de asemenea daca am un fisier intr-o anumita limita comanda > > cat small_file | cat > out > > se executa cu succes. Am inteles ca pipe-urile nu au o problema cu > limitarea, dar as dori sa stiu care ar putea fi problema.
Nu-mi dau seama exact ce ar putea să fie acolo. Eșuează în ce sens? Se blochează, se termină cu eroare sau e diferență între big_file și out? 1) În primul rând asigură-te că e chiar o eroare și nu doar o problemă de prompt. E posibil să nu ți se afișeze promptul, dar comanda să fi terminat de executat. 2) Asigură-te că închizi capetele nefolosite ale pipe-ului: ambele în procesul părinte, capătul de read în producător, capătul de write în consumator. 3) Am căutat în discuțiile din anii trecuți și am dat peste asta [1]. Pe scurt, pentru comanda cmd1 | cmd2 ar putea ajuta să pornești cmd2 înainte și cmd1 după. Revino cu mail să ne zici cum ai rezolvat. [1] http://thread.gmane.org/gmane.education.region.romania.operating-systems/4913/focus=4914 Costin _______________________________________________ http://ocw.cs.pub.ro/courses/so/info/lista-discutii
