【发布时间】:2012-06-26 05:30:50
【问题描述】:
假设我在 linux 中有以下代码:
int main()
{
FILE* f = fopen("file.txt", "w");
fork();
fwrite("A", 1, 1, f);
fclose(f);
return 0;
}
我从文档中对fork 的了解是,它会复制当前进程。它也复制内存的状态,因此 *f 在两种情况下都应该相等。但是系统资源会发生什么,例如文件句柄?在此示例中,我以写入意图打开文件,因此只有一个实例可以写入文件,对吗?哪些实例实际上会写入文件?谁应该更关心文件句柄并调用 fclose() ?
【问题讨论】: