Como posso obter mais informações sobre os canais abertos em / proc no Linux?

48

No Linux, se você for cavar /proc/<pid>/fd , muitas vezes verá a saída como:

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]

Como faço para obter mais informações sobre os canais abertos, como qual processo está do outro lado?

    
por Kamil Kisiel 31.07.2009 / 00:18

3 respostas

40

Semelhante a outras respostas, mas:

lsof | grep 90222668

Irá mostrar-lhe ambas as extremidades, porque ambas as extremidades partilham o 'número do pipe'.

    
por 31.07.2009 / 17:55
3

A única maneira de encontrar qual processo está do outro lado é fazer o loop de todos os processos em / proc e ver quais estão usando aquele pipe (isto é, que possuem links simbólicos em / proc / pid / fd para o mesmo ID de pipe)

    
por 31.07.2009 / 02:45
1

A maioria das informações que eu sei sobre como entrar em um canal aberto é

lsof|grep FIFO

Ainda só fala sobre um fim disso, eu tenho medo.

    
por 31.07.2009 / 00:31