В Linux различные процессы могут обмениваться информацией с помощью доступа к разделяемой области памяти либо очереди сообщений. Для доступа к общему множеству идентификаторов для этих механизмов два процесса должны входить в одно пространство имен обмена информацией между процессами (inter-process communications, IPC).
Вообще говоря, нежелательно, чтобы контейнеры могли обращаться к разделяемой памяти друг друга, поэтому им назначаются отдельные пространства имен IPC.
Чтобы посмотреть на это в действии, создайте разделяемый блок памяти и просмотрите текущее состояние IPC с помощью команды ipcs:
```
[root@whoisdeveloper ~]# ipcmk -M 1000
Shared memory id: 0
[root@whoisdeveloper ~]# ipcs
------ Message Queues --------
key msqid owner perms used-bytes messages
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0xf90c1e43 0 root 644 1000 0
------ Semaphore Arrays --------
key semid owner perms nsems
```
В этом примере созданный новый блок разделяемой памяти (идентификатор которого указан в столбце shmid) отображается последним в блоке «Разделяемые сегменты памяти» (Shared Memory Segments).
Процесс с отдельным пространством имен IPC не видит ни одного из этих объектов IPC:
```
[root@whoisdeveloper ~]# unshare --ipc sh
sh-4.4# ipcs
------ Message Queues --------
key msqid owner perms used-bytes messages
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
------ Semaphore Arrays --------
key semid owner perms nsems
````