#include #include #include #include #include int main() { char parent_message[] = "hello"; char child_message[] = "goodbye"; void* shmem = mmap(NULL, 128, PROT_READ | PROT_WRITE, MAP_SHARED | MAP_ANONYMOUS, -1, 0); memcpy(shmem, parent_message, sizeof(parent_message)); int pid = fork(); if (pid == 0) { printf("Child read: %s\n", (char*)shmem); memcpy(shmem, child_message, sizeof(child_message)); printf("Child wrote: %s\n", (char*)shmem); } else { printf("Parent read: %s\n", (char*)shmem); sleep(1); printf("After 1s, parent read: %s\n", (char*)shmem); } }