// Разделяемая память SystemV в Linux // Программа из учебника "Системное программирование в среде Linux", Гунько А.В., стр. 100 // Название: shmget.c // Описание: создание сегмента разделяемой памяти //svshm/shmget.c #include #include #include #include #include int main(int argc, char **argv) { int c, id, oflag; char *ptr; size_t length; oflag = 0666 | IPC_CREAT; while ( (c = getopt(argc, argv, "e")) != -1) { switch (c) { case 'e': oflag |= IPC_EXCL; break; } } if (optind != argc - 2) { printf("usage: shmget [ -e ] \n"); exit(-1); } length =atoi(argv[optind + 1]); id = shmget(ftok(argv[optind], 0), length, oflag); ptr = shmat(id, NULL, 0); exit(0); }