[so] [Tema2][Linux] Problema pipe fisiere mari

Costin Lupu costin.lup at gmail.com
Mon Mar 28 21:09:15 EEST 2016


Ok, urmărește cele 3 puncte din mail-ul meu anterior și revino cu
răspuns.

########################################################################
# PS: La toate mail-urile de interes general (aka via
# so at cursuri.cs.pub.ro), butonul de "Reply All"/"Group Reply"/șamd, este
# sfânt. Toate discuțiile legate de probleme întâmpinate la teme se 
# desfășoară pe lista de discuții.
########################################################################

Costin

On Mon, 2016-03-28 at 21:02 +0300, Bogdan Basuc wrote:
> Comanda eșuează in sensul ca prompt-ul rămâne blocat un timp destul de
> lung, iar ca rezultat nu generează niciun fișier (asta pe fișierele
> mari).
> 
> În data de luni, 28 martie 2016, Costin Lupu <costin.lup at gmail.com> a
> scris:
>         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