Đó là số inode cho đường ống hoặc ổ cắm được đề cập.
Một ống là một kênh đơn hướng, với một đầu ghi và một đầu đọc. Trong ví dụ của bạn, có vẻ như FD 5 và FD 6 đang nói chuyện với nhau, vì các số inode là như nhau. (Có lẽ là không, mặc dù vậy. Xem bên dưới.)
Phổ biến hơn so với việc thấy một chương trình nói chuyện với chính nó qua một đường ống là một cặp chương trình riêng biệt nói chuyện với nhau, thường là do bạn thiết lập một đường ống giữa chúng bằng một vỏ:
shell-1$ ls -lR / | less
Sau đó, trong một cửa sổ thiết bị đầu cuối khác:
shell-2$ ...find the ls and less PIDs with ps; say 4242 and 4243 for this example...
shell-2$ ls -l /proc/4242/fd | grep pipe
l-wx------ 1 user user 64 Mar 24 12:18 1 -> pipe:[222536390]
shell-2$ ls -l /proc/4243/fd | grep pipe
l-wx------ 1 user user 64 Mar 24 12:18 0 -> pipe:[222536390]
Điều này nói rằng đầu ra tiêu chuẩn của PID 4242 (FD 1, theo quy ước) được kết nối với một đường ống có số inode 222536390 và đầu vào tiêu chuẩn của PID 4243 (FD 0) được kết nối với cùng một đường ống.
Tất cả đều là một cách dài để nói rằng ls
đầu ra của nó đang được gửi đến less
đầu vào của.
Quay trở lại ví dụ của bạn, FD 1 và FD 2 gần như chắc chắn không nói chuyện với nhau. Nhiều khả năng đây là kết quả của việc buộc stdout (FD 1) và stderr (FD 2) với nhau, vì vậy cả hai đều đi đến cùng một đích. Bạn có thể làm điều đó với vỏ Bourne như thế này:
$ some-program 2>&1 | some-other-program
Vì vậy, nếu bạn chọc vào /proc/$PID_OF_SOME_OTHER_PROGRAM/fd
, bạn sẽ thấy một FD thứ ba được gắn vào một đường ống có cùng số inode như được gắn vào FD 1 và 2 some-program
chẳng hạn. Đây cũng có thể là những gì xảy ra với FD 5 và 6 trong ví dụ của bạn, nhưng tôi không có lý thuyết sẵn sàng về việc hai FD này gắn kết với nhau như thế nào. Bạn sẽ phải biết những gì chương trình đang làm trong nội bộ để tìm ra điều đó.
pidgin
- nó có rất nhiều ống & ổ cắm và những thứ khác, vì vậy đây là một ví dụ hay. Một câu hỏi cuối cùng: inodes chỉ cụ thể trong ngữ cảnh của một hệ thống tập tin cụ thể, đúng không? Như trong, tôi có thể có inode 3 trên/
hệ thống tập tin của tôi và một nút khác (khác) inode 3 trên/boot
hệ thống tập tin của tôi .