Sim, o arquivo será fechado automaticamente quando o processo terminar, independentemente do motivo da finalização do processo.
Isso é documentado em POSIX . Em " Consequências da rescisão do processo ", entre outras consequências:
- All of the file descriptors, directory streams, conversion descriptors, and message catalog descriptors open in the calling process shall be closed.
E em " Encerrar um processo ”:
It is important that the consequences of process termination as described occur regardless of whether the process called _exit() (perhaps indirectly through exit()) or instead was terminated due to a signal or for some other reason.