File-Descriptors

預設分配的文件描述符 3 是什麼?

  • August 8, 2020
$ ls -og /proc/self /proc/self/fd
lrwxrwxrwx 1 64 Jun 18 11:12 /proc/self -> 32157

/proc/self/fd:
total 0
lrwx------ 1 64 Jun 22  2012 0 -> /dev/tty1
lrwx------ 1 64 Jun 22  2012 1 -> /dev/tty1
lrwx------ 1 64 Jun 22  2012 2 -> /dev/tty1
lr-x------ 1 64 Jun 22  2012 3 -> /proc/32157/fd

預設分配的文件描述符 3 是什麼?

什麼都沒有:有三個標准文件描述,STDIN、STDOUT 和 STDERR。它們分別分配給 0、1 和 2。

您所看到的是一種工作方式ls(1):為了讀取/proc/self/fd目錄的內容並顯示它,它需要打開該目錄。

這意味著它得到一個文件句柄,通常是第一個可用的……因此,3。

例如,如果您要cat在單獨的控制台上執行並檢查/proc/${pid}/fd它,您會發現只分配了前三個。

引用自:https://unix.stackexchange.com/questions/41421