Sous Linux, si vous creusez /proc/<pid>/fd
souvent, vous verrez une sortie comme:
lrwx------ 1 root root 64 Jul 30 15:14 0 -> /dev/null
lrwx------ 1 root root 64 Jul 30 15:14 1 -> /dev/null
l-wx------ 1 root root 64 Jul 30 15:14 10 -> pipe:[90222668]
lr-x------ 1 root root 64 Jul 30 15:14 11 -> pipe:[90222669]
l-wx------ 1 root root 64 Jul 30 15:14 13 -> pipe:[90225058]
lr-x------ 1 root root 64 Jul 30 15:14 14 -> pipe:[90225059]
Comment puis-je obtenir plus d'informations sur les canaux ouverts, tels que le processus à l'autre extrémité?
/proc
est lent. Quelqu'un peut-il fournir une solution plus efficace?Réponses:
Similaire à d'autres réponses, mais:
Vous montrera les deux extrémités, car les deux extrémités partagent le «numéro de tuyau».
la source
lsof -n -P | grep 90222668
pour éviter les recherches de nom inutiles, ce qui devrait accélérer le processus.La seule façon de trouver le processus à l'autre extrémité consiste à afficher en boucle tous les processus de / proc et à voir ceux qui utilisent ce canal (c'est-à-dire qui ont des liens symboliques dans / proc / pid / fd vers le même ID de canal).
la source
ls -l /proc/*/fd/ | grep $PIPE_ID; ls -l /proc/*/fd/$FD | grep $PIPE_ID
La première commande ls imprimera les descripteurs de fichier des deux extrémités du tuyau, tandis que la seconde vous donnera le processus idLa plupart des informations que je sais comment accéder aux tuyaux ouverts sont
Je n'en ai encore qu'une idée, j'en ai peur.
la source