If you are going to use this method, be sure to check for any left over memory segments when done, with ipcs (on linux). These segments are not automatically cleaned up, although some modules may do it for you. To me, it's one of the drawbacks of this form of IPC, especially if your program gets killed before it can clean up, you may have a "zombie-like" shared memory segment (possibly with 777 permissions) floating around in your ram. See