C'est le numéro d' inode du tuyau ou de la prise en question.
Un tuyau est un canal unidirectionnel, avec une extrémité écriture et une extrémité lecture. Dans votre exemple, il semble que les FD 5 et FD 6 se parlent, car les numéros d'inode sont les mêmes. (Peut-être pas, cependant. Voir ci-dessous.)
Plus commun que de voir un programme se parler à lui-même par-dessus un tuyau est une paire de programmes séparés qui se parlent, généralement parce que vous configurez un tuyau entre eux avec un shell:
shell-1$ ls -lR / | less
Puis dans une autre fenêtre de terminal:
shell-2$ ...find the ls and less PIDs with ps; say 4242 and 4243 for this example...
shell-2$ ls -l /proc/4242/fd | grep pipe
l-wx------ 1 user user 64 Mar 24 12:18 1 -> pipe:[222536390]
shell-2$ ls -l /proc/4243/fd | grep pipe
l-wx------ 1 user user 64 Mar 24 12:18 0 -> pipe:[222536390]
Cela signifie que la sortie standard du PID 4242 (FD 1, par convention) est connectée à un tuyau portant le numéro d'inode 222536390 et que l'entrée standard du PID 4243 (FD 0) est connectée au même tuyau.
Ce qui est un long chemin à dire que ls
la sortie est envoyée à less
l'entrée de.
Pour revenir à votre exemple, les FD 1 et FD 2 ne se parlent presque certainement pas . Il est fort probable que cela résulte du lien qui unit stdout (FD 1) et stderr (FD 2), de sorte qu'ils se rendent tous les deux à la même destination. Vous pouvez le faire avec un shell Bourne comme ceci:
$ some-program 2>&1 | some-other-program
Ainsi, si vous /proc/$PID_OF_SOME_OTHER_PROGRAM/fd
fouillez dedans, vous trouverez un troisième FD attaché à un tuyau avec le même numéro d'inode que celui attaché aux FD 1 et 2 pour l' some-program
instance. C'est peut-être aussi ce qui se passe avec les FD 5 et 6 dans votre exemple, mais je n'ai pas de théorie toute prête quant à la manière dont ces deux FD ont été liées. Vous devez savoir ce que le programme fait en interne pour comprendre cela.
pidgin
- il y avait beaucoup de tuyaux, de douilles et d’autres choses, c’était donc un bel exemple. Une dernière question: les inodes ne sont spécifiques que dans le contexte d'un système de fichiers particulier, n'est-ce pas? En tant que, je pourrais avoir l’inode 3 sur mon/
système de fichiers, et un autre inode 3 (différent) sur mon/boot
système de fichiers.