Próbuję uzyskać cały obraz z deskryptorami plików. Powiedzmy, że mam proces1, który początkowo ma następujące deskryptory plików:
_process1_
| |
| 0 stdin |
| 1 stdout |
| 2 stderr |
|__________|
Następnie zamykam deskryptor pliku 1:
close(1);
Deskryptor pliku 1 tłumaczy (wskazuje) na standardową strukturę PLIK w tabeli otwartych plików jądra .
Z powyższym kodem deskryptor pliku 1 zostaje usunięty z tabeli procesu, który staje się:
_process1_
| |
| 0 stdin |
| 2 stderr |
|__________|
Ale co dzieje się w jądrze? Czy stdout
struktura PLIKU zostaje zwolniona? Jak to możliwe, jeśli stdout jest specjalnym plikiem (monitorem) i prawdopodobnie jest wykorzystywany przez inne procesy? Co ze strukturami PLIKÓW, które są zwykłymi plikami (na przykład .txt)? Co jeśli taki plik jest używany przez inny proces?