[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

named-pipes et limite de volume de données [was: cat /dev/xconsole qui meurt]



Seb a écrit :

Seb a écrit :

J'ai relancé "xconsole -file /dev/xconsole", je le laisse tourner.


Il n'a pas planté depuis mon dernier post. Le cat habituel, quant à lui, serait déja mort...

J'ai un peu cherché sur le web et expérimenté sur ma machine. Les résultats me laissent perplexe...

Selon ce que j'ai trouvé sur le web, il existe un volume de données limite que peut laisser passer (ou bien retenir jusqu'à ce qu'on la lise, je n'ai pas très bien saisi) une named-pipe. Cette valeur est définie dans /usr/src/linux/include/linux/limits.h :

   #define PIPE_BUF        4096    /* # bytes in atomic write to a pipe */

Ceci expliquerait donc que "cat /dev/xconsole" s'arrête tout seul. Je vérifie donc le volume de données écrit suite à un plantage :

   cat /dev/xconsole > test1

lorsqu'il s'arrête :

   du -h test1
      4,0k

ça se tient, mais voila, sous krusader, konqueror et nautilus, test1 occupe en fait 540 octets, idem pour ls -l...

   cat /dev/xconsole > test2

test2 atteint les 4ko et le "cat /dev/xconsole" tourne toujours. Afin de le remplir rapidement, je lance dans une console root :

   cat test2 > /dev/xconsole

et ce plusieurs fois.

Résultat pour le moins surprenant, le cat tourne toujours au moment où j'écris ces lignes et test2 occupe... 753,2Mo selon Nautilus, konqueror, krusader, ls et du qui, concernant ce fichier tombent tous d'accord.

Quelqu'un aurait une explication ?

Merci.

Seb



Reply to: