Shared memory hello world
/*
* file: shared-memory-write.c
*/
#include <stdio.h>
#include <sys/shm.h>
int
main (void)
{
key_t key = 2525;
char * shared_memory;
int segment_size = 0x6400;
int segment_id;
segment_id = shmget (key, segment_size, IPC_CREAT | 0666);
shared_memory = shmat (segment_id, NULL, 0);
sprintf (shared_memory, "Hello World");
while (1)
sleep (1);
return 0;
}
/*run ./shared-memory-write
* file: shared-memory-read.c
*/
#include <stdio.h>
#include <sys/shm.h>
int
main (void)
{
int segment_id;
key_t key = 2525;
char * shared_memory;
int segment_size = 0x6400;
segment_id = shmget (key, segment_size, 0666);
shared_memory = shmat (segment_id, NULL, 0);
printf ("%s\n", shared_memory);
shmdt (shared_memory);
shmctl (segment_id, IPC_RMID, 0);
return 0;
}
and in another shell ./shared-memory-read.c
then in first shell kill shared-memorr-write with Ctrl-c