2010-07-23 27 views
14

Tôi đang cố gắng phân tích cú pháp thông tin ổ cắm từ /proc/net/tcp và trong khi tôi có thể xác định một số trường, chẳng hạn như địa chỉ bộ nhớ hoặc gửi hàng đợi sử dụng, tôi không thể tìm thấy cách mỗi mục được ràng buộc với bộ mô tả socket của nó. ví dụ: với dữ liệu này:Làm cách nào để tôi có thể khớp mỗi mục nhập/proc/net/tcp với mỗi ổ cắm đã mở?

1: 5922140A:E459 D5C43B45:0050 01 00000000:00000000 00:00000000 00000000 1000  0 507218 1 f6ab1300 57 3 12 4 -1 

Tôi muốn biết đó là bộ mô tả socket tương ứng.

+0

Bạn có phải là số mô tả tệp cho quy trình sở hữu hay bạn muốn biết quy trình sở hữu một ổ cắm cụ thể không? –

+0

Vâng, bộ mô tả tập tin. –

+0

@MattJoiner - Xin chào Matt, Làm cách nào để biết quy trình sở hữu một ổ cắm cụ thể? – Suman

Trả lời

13

Đi theo số inode (trong trường hợp này, 507.218). Mỗi bộ mô tả tập tin mở ra cho ổ cắm đó (có thể có nhiều file descriptor cho cùng một ổ cắm) sẽ xuất hiện như là một liên kết có dạng:

/proc/<PID>/fd/<N> -> socket[507218] 

(nơi <PID> là quá trình ID và <N> là mô tả tập tin).

+0

Tuyệt vời! Cảm ơn nhiều! –

Các vấn đề liên quan