#include #include #include #include #include #include #include main(int argc, char *argv[]) { int s, *m; s = shm_open(argv[1], O_CREAT | O_RDWR, S_IRWXU | S_IRGRP | S_IROTH); if( s == -1 ){ fprintf(stderr, "failed to open shared memory %s\n", argv[1]); exit(1); } m = mmap(0, sizeof(int), PROT_READ | PROT_WRITE, MAP_SHARED, s, 0); sleep( atoi(argv[2]) ); *m = getpid(); fprintf(stderr, "I'm %d, m is %d\n", getpid(), *m); fprintf(stderr, "sleeping...\n"); sleep(5); fprintf(stderr, "I'm %d, m is %d\n", getpid(), *m); }