2015-04-19 20 views
14

Wykonanie poniższego polecenia, aby wyświetlić deskryptory plików będące w posiadaniu bieżącego procesu, pokazuje 4 deskryptory plików. Deskryptory plików 0, 1 i 2 to stdin, stdout i stderr. Co to jest deskryptor pliku 255?Co to jest użycie deskryptora pliku 255 w procesie bash

ls /proc/$$/fd 

wyjściowa:

 
0 1 2 255 
+3

http://www.gossamer-threads.com/lists/linux/kernel/9696 – Thilo

+0

ten pytanie byłoby lepiej zadać na unix.stackexchange.com. – Barmar

+1

Po co pisać w tym pytaniu? Nie możesz po prostu wkleić tekstowego polecenia polecenia? – Barmar

Odpowiedz

12

Otwarte pliki są 0 (stdin), 1 (stdout) i 2 (stderr). 255 to mała sztuczka używana przez bash do przechowywania ich kopii, gdy są przekierowywane. Jest to specyficzne dla basha.

Źródło: https://books.google.com/books?id=wWjqCF9HLfYC&pg=PA231

przykład:

echo foo 1>/dev/null 2>/dev/null >/proc/$$/fd/255 

wyjściowa:

 
foo