Предоставляет ли ваша ОС полнофункциональный mmap
?Вам нужна только область общей памяти у родственников, т.е. процессов, которые вы fork
удалили?Если эти два условия соблюдены, вам вообще не нужны никакие файлы, просто используйте mmap:
char *shm_area;
shm_area = mmap(NULL, mySHMsize, PROT_READ | PROT_WRITE, MAP_ANON | MAP_SHARED, 0, 0);
if (fork() == 0) {
// Child, can access shm_area.
} else {
// Parent, can access shm_area.
}