Jawaban:
Pipa-pipa tersebut hanya terikat pada deskriptor file yang berbeda dari 0 (stdin):
$ echo <(true)
/dev/fd/63
$ echo <(true) <(true)
/dev/fd/63 /dev/fd/62
Suatu proses tentu saja dapat memiliki lebih dari satu deskriptor file terbuka sekaligus, jadi tidak ada masalah.
pipe()system call.
pipe()dan kemudian garpu subproses. Proses utama memang memiliki deskriptor file tambahan terbuka jika pipa anonim digunakan. Deskriptor file tambahan ini diteruskan dalam bentuk /dev/fd/..., dan proses biasanya hanya akan membukanya menggunakan nama file ini. Ini akan menyebabkan mereka menjadi dup()ed, membuat deskriptor file lebih terbuka. Prosesnya juga dapat menggunakan deskriptor file bernama segera tanpa panggilan terbuka ...
a, saya menyebutnya sebagai ./a <(ls), dan berhasil mencetak daftar file, membuktikan decriptor file bernama (63 dalam kasus saya) sudah terbuka. Bash mungkin menggunakan pipa bernama dalam direktori sementara pada arsitektur yang berbeda dari Linux, dalam hal ini tidak ada deskriptor file tambahan yang akan terbuka saat memasuki proses utama.
bashhalaman manual.