Na minha aplicação eu abro um arquivo, usando a open()
chamada.
Minhas perguntas são:
- O arquivo é fechado automaticamente (usando a
close()
chamada no descritor de arquivo retornado) se eu encerrar o processo? - O que acontece se o aplicativo travar (por exemplo, falha de segmentação)?
- Isso está documentado em algum lugar?
Sim, o arquivo será encerrado automaticamente quando o processo terminar, independentemente do motivo do encerramento do processo.
Isso está documentado em POSIX . Em “ Consequências da extinção do processo ”, entre outras consequências:
E em “ Encerrando um Processo ”:
Você pode ler sobre Linux Kernel Process Management, por exemplo aqui