Tập tin trên mỗi ổ cắm là gì và ở đâu?
"Mọi thứ" là một cường điệu. Đây không phải là một chính sách nghiêm ngặt, đó chỉ là một cách phổ biến để sử dụng hệ thống tệp cho giao diện vì quyền truy cập hệ thống tệp đồng nghĩa với các cuộc gọi hệ thống (nghĩa là hệ thống tệp thực sự là giao diện với kernel và do đó cung cấp định dạng thuận tiện cho mọi loại) . Các hệ điều hành khác không sử dụng nhiều như vậy, vì vậy nó được coi là một tính năng khác biệt.
Như Hauke Laging đề cập, các ổ cắm "unix cục bộ" có một nút tệp như các ống được đặt tên (xem man fifo
). Tuy nhiên, ổ cắm giao thức internet (được sử dụng cho giao tiếp mạng) thì không. Thay vào đó, chúng được liên kết trong không gian người dùng với số cổng. Lưu ý rằng một ổ cắm máy chủ trên một cổng kết nối nhiều máy khách với một ổ cắm riêng (một tệp ổ cắm cục bộ unix duy nhất cũng có thể được sử dụng theo cách này với một máy chủ, có nghĩa là có thể có nhiều ổ cắm được liên kết với cùng một địa chỉ tệp) và trong mã, trên thực tế chúng được xác định riêng lẻ thông qua các mô tả tệp số riêng biệt .
Vì vậy, theo nghĩa đó, tất cả các socket đều giống như các tập tin và có một liên kết /proc/[pid]/fd/
. Bạn thậm chí có thể gọi readlink()
vào nút này và nhận được một loại tên tệp đặc biệt, được sử dụng trong các công cụ dòng lệnh như lsof
, tôi tin rằng; tương tự như vậy, bạn có thể nhận được thông tin về bộ mô tả ổ cắm thông qua fstat()
.