Я пытаюсь выяснить, какой процесс держит другой конец сокета домена unix. В некотором strace
выводе я определил заданный файловый дескриптор, который участвует в проблеме, которую я сейчас отлаживаю, и я хотел бы знать, какой процесс находится на другом конце этого. Поскольку для этого сокета существует несколько соединений, просто переход по имени пути не будет работать.
lsof
предоставляет мне следующую информацию:
dbus-daem 4175 mvg 10u unix 0xffff8803e256d9c0 0t0 12828 @/tmp/dbus-LyGToFzlcG
Итак, я знаю какой-то адрес ( "адрес ядра"?), я знаю номер сокета, и я знаю путь. Я могу найти ту же информацию в других местах:
$ netstat -n | grep 12828
unix 3 [ ] STREAM CONNECTED 12828 @/tmp/dbus-LyGToFzlcG
$ grep -E '12828|ffff8803e256d9c0' /proc/net/unix
ffff8803e256d9c0: 00000003 00000000 00000000 0001 03 12828 @/tmp/dbus-LyGToFzlcG
$ ls -l /proc/*/fd/* 2>/dev/null | grep 12828
lrwx------ 1 mvg users 64 10. Aug 09:08 /proc/4175/fd/10 -> socket:[12828]
Однако, ничто из этого не говорит мне о том, каким другим концом моего соединения сокета. Как я могу определить, какой процесс поддерживает другой конец?