(ma réponse est à prendre avec quelques pincettes, je ne peux pas
vérifier en détail mes dires pour le moment).
Seb a écrit :
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 */
Il doit s'agir là de la taille du tampon d'écriture ou de lecture. Le
bon sens nous incite à penser cela, car 4ko, c'est vraiment très peu;
ton message fait déjà 8ko.
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...
En fait, ce que tu observes est la taille de l'objet 'pipe'. Regarde
sous /dev, tu devrais observer que nombre des fichiers présents ici ont
des tailles de cet ordre de grandeur. Il est possible que tu obtiennes
des résultats différents, parce que bien que ton pipe fasse moins de
4ko, l'élément le plus petit de ton système de fichier est 4ko.
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
--
David