Tôi đang cố gắng theo dõi một số hành vi kỳ quặc của một vài quy trình và chạy đến một điểm tôi không chắc chắn làm thế nào để theo dõi quá khứ. Quá trình treo, mà tôi gắn liền với việc sử dụng strace -p
đã cho thấy điều này:
Process 7926 attached - interrupt to quit
read(3,
Được rồi, vì vậy nó đang chờ đầu vào trên fd 3, vì vậy tôi đã đi kiểm tra xem nó là gì:
$ ls -l /proc/7926/fd/3
lr-x------ 1 user grp 64 Mar 15 10:41 /proc/7926/fd/3 -> pipe:[20043922]
Được rồi, vậy đó là một đường ống ... bây giờ là câu hỏi - ai là tác giả của đường ống này? Tôi nhớ rằng trên Linux có một tính năng đặc biệt cho các socket miền unix nơi bạn có thể yêu cầu đường dẫn tệp bắt đầu bằng byte NUL để truy cập vào "không gian tên ổ cắm trừu tượng" (được đề cập ở đây: http://tkhanson.net/cgit.cgi /misc.git/plain/unixdomain/Unix_domain_sockets.html ). Tôi không chắc có thứ gì tương tự cho các đường ống mà tôi có thể tận dụng hay không, nhưng tôi không tìm thấy gì.
Tôi đã hy vọng một công cụ như fuser
hoặc lsof
có thể giúp đỡ, nhưng tôi chưa đi đến đâu.
Có ý kiến gì không?