[so] [Tema2][Linux] Problema pipe fisiere mari
Costin Lupu
costin.lup at gmail.com
Mon Mar 28 20:55:15 EEST 2016
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
More information about the so
mailing list