Unix Man (Справочное руководство)


INTRO(2) - часть 13


ushort cuid; /* Идентификатор пользователя, создавшего сегмент */ ushort cgid; /* Идентификатор группы создателя сегмента */ ushort uid; /* Идентификатор пользователя */ ushort gid; /* Идентификатор группы */ ushort mode; /* Права на чтение/изменение */ ushort seq; /* Последовательность номеров используемых слотов */ key_t key; /* Ключ */

shm_segsz Размер разделяемого сегмента памяти в байтах. shm_lpid Идентификатор процесса, последним выполнившего операцию . shm_cpid Идентификатор процесса, создавшего идентификатор разделяемого сегмента памяти. shm_nattch Счетчик количества процессов, к которым в данный момент подсоединен разделяемый сегмент памяти. shm_atime Время последней операции shmat(2). shm_dtime Время последней операции shmdt(2). shm_ctime Время последней операции , которая изменила какой-либо элемент вышеописанной структуры.

Время измеряется в секундах, начиная с 00:00:00 1 января 1970 года (по Гринвичу).

Права на операции с разделяемыми сегментами памяти. В описании системных вызовов и права, требуемые для операций, записаны в фигурных скобках { и }. Права состоят в следующем:

00400Чтение для владельца.
00200Запись для владельца.
00040Чтение для группы.
00020Запись для группы.
00004Чтение для остальных.
00002Запись для остальных.

Процессу предоставляется право на чтение или запись в разделяемый сегмент памяти, если истинно хотя бы одно из следующих условий:

  1. Действующий идентификатор пользователя процесса есть идентификатор суперпользователя.
  2. Действующий идентификатор пользователя процесса совпадает со значением компонента shm_perm.cuid или shm_perm.uid структуры данных, ассоциированной с идентификатором разделяемого сегмента, и соответствующие биты для владельца в shm_perm.mode (0600) равны 1.
  3. Действующий идентификатор группы процесса совпадает со значением компонента shm_perm.cgid или shm_perm.gid структуры данных, ассоциированной с идентификатором разделяемого сегмента, и соответствующие биты для группы в shm_perm.mode (0060) равны 1.
  4. Соответствующие биты для прочих пользователей в shm_perm.mode (0006) равны 1.




Начало  Назад  Вперед