Estou tentando obter uma imagem completa com descritores de arquivo. Digamos que eu possua process1, que inicialmente possui esses descritores de arquivo:
_process1_
| |
| 0 stdin |
| 1 stdout |
| 2 stderr |
|__________|
Então eu fecho o descritor de arquivo 1:
close(1);
O descritor de arquivo 1 converte (pontos) na estrutura FILE stdout na Tabela de Arquivos Abertos do kernel .
Com o código acima, o descritor de arquivo 1 é excluído da tabela do processo, que se torna:
_process1_
| |
| 0 stdin |
| 2 stderr |
|__________|
Mas o que acontece no kernel? A stdout
estrutura FILE é desalocada? Como isso é possível se stdout é um arquivo especial (o monitor) e provavelmente está sendo usado por outros processos? E as estruturas FILE que são apenas arquivos normais (por exemplo, .txt)? E se esse arquivo estiver sendo usado por outro processo?