Я пытаюсь отследить какое-то странное поведение нескольких процессов и столкнулся с тем, что не знаю, как отследить прошлое. Зависший процесс, который я подключил к использованию strace -p
показал это:
Process 7926 attached - interrupt to quit
read(3,
Итак, он ожидает ввода на fd 3, поэтому я пошел, чтобы проверить, что это такое:
$ ls -l /proc/7926/fd/3
lr-x------ 1 user grp 64 Mar 15 10:41 /proc/7926/fd/3 -> pipe:[20043922]
Итак, это труба ... теперь вопрос - кто автор этой трубы? Напомню, что в Linux есть специальная функция для доменных сокетов unix, где вы можете запросить путь к файлу, который начинается с байта NUL, для доступа к "абстрактному пространству имен сокетов" (упомянуто здесь: http://tkhanson.net/cgit.cgi/misc.git/plain/unixdomain/Unix_domain_sockets.html). Я не уверен, есть ли что-то подобное для труб, чем я мог бы воспользоваться, но я ничего не нашел.
Я надеялся, что такой инструмент, как fuser
или lsof
может помочь, но я никуда не попал.
Есть идеи?