Я хочу общаться между двумя контейнерами док-станции, используя общую память.В обоих контейнерах запущена простая программа на Си.
Я попробовал этот пример, и он работает очень хорошо: Общая память с контейнерами Docker (версия 1.4.1 Docker)
Однако, когда я создаю новую область общей памятиShared-Memory-ID всегда равен 0.Я уже пытался использовать ключ, сгенерированный с помощью ftok()
, а также ключ IPC_PRIVATE
:
key_t key = ftok("shmfile", 65);
int shmid = shmget(key, 1024, IPC_CREAT | 0666);
printf("%d \n", shmid);
void *shmdata = shmat(shmid, NULL, 0);
Я ожидаю, что идентификатор не всегда будет равен 0 и будет другим, когда другойключ используется.