web-dev-qa-db-ja.com

Linuxの/ procで開いているパイプショーの詳細情報を取得するにはどうすればよいですか?

Linuxでは、/proc/<pid>/fd多くの場合、次のような出力が表示されます。

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]

反対側のプロセスなど、開いているパイプに関する詳細情報を取得するにはどうすればよいですか?

54
Kamil Kisiel

他の回答に似ていますが、

lsof | grep 90222668

両端が「パイプ番号」を共有しているため、両端が表示されます。

46
Kyle Brandt

反対側のプロセスを見つける唯一の方法は、/ proc内のすべてのプロセスをループして、そのパイプを使用しているプロセスを確認することです(つまり、/ proc/pid/fdに同じパイプIDへのシンボリックリンクがあります)。

4
bdonlan

私がオープンパイプに乗る方法を知っているほとんどの情報は

lsof|grep FIFO

それでもその一端についてしか教えてくれません、私は恐れています。

2
chaos