10 примеров команд IPCS (с введением IPC)

Мы предоставляем услуги удаленного администрирования серверов

10 примеров команд IPCS (с введением IPC)

Поделиться

IPC расшифровывается как межпроцессное взаимодействие.

Эта техника позволяет процессам общаться друг с другом.

Поскольку каждый процесс имеет свое собственное адресное пространство и уникальное пользовательское пространство, как этот процесс взаимодействует друг с другом?

Ответ — Kernel, сердце операционной системы Linux, которая имеет доступ ко всей памяти. Поэтому мы можем запросить ядро ​​выделить пространство, которое можно использовать для связи между процессами.

Процесс также может взаимодействовать, имея файл, доступный обоим процессам. Процессы могут открывать и читать / записывать файл, что требует много операций ввода-вывода, которые занимают время.

Различные типы IPCS

Существуют различные IPC, которые позволяют процессу взаимодействовать с другими процессами, либо на том же компьютере, либо на другом компьютере в той же сети.

  • Pipes Предоставляет возможность процессам взаимодействовать друг с другом путем обмена сообщениями. Именованные каналы обеспечивают способ взаимодействия процессов по различным компьютерным системам в сети.
  • Shared Memory — процессы могут обмениваться значениями в общей памяти. Один процесс создаст часть памяти, к которой другой процесс сможет получить доступ.
  • Message Queue — это структурированный и упорядоченный список сегментов памяти, в которых процессы хранят или получают данные.
  • Semaphores — предоставляет механизм синхронизации для процессов, которые обращаются к одному и тому же ресурсу. Данные не передаются с семафором; он просто координирует доступ к общим ресурсам.

10 Пример команды IPCS

ipcs — это команда UNIX / Linux, которая используется для отображения информации о межпроцессном взаимодействии. ipcs предоставляет отчет по System V IPCS (очередь сообщений, семафор и общая память).

Пример 1 IPCS: список всех средств IPC

Команда ipcs с опцией -a выводит список всех возможностей IPC, которые имеют доступ для чтения для текущего процесса. Он предоставляет подробную информацию об очереди сообщений, семафоре и общей памяти.

# ipcs -a

------ Shared Memory Segments --------
key        shmid      owner      perms      bytes      nattch     status
0xc616cc44 1056800768 oracle    660        4096       0
0x0103f577 323158020  root      664        966        1
0x0000270f 325713925  root      666        1          2

------ Semaphore Arrays --------
key        semid      owner      perms      nsems
0x0103eefd 0          root      664        1
0x0103eefe 32769      root      664        1
0x4b0d4514 1094844418 oracle    660        204

------ Message Queues --------
key        msqid      owner      perms      used-bytes   messages
0x000005a4 32768      root       644        0            0

Все средства IPC имеют уникальный ключ и идентификатор, который используется для идентификации средства IPC.

Пример 2 IPCS: список всех очередей сообщений

ipcs с опцией -q, перечисляет только очереди сообщений, для которых текущий процесс имеет доступ для чтения.

$ ipcs -q

------ Message Queues --------
key        msqid      owner      perms      used-bytes   messages
0x000005a4 32768      root       644        0            0

Пример 3. IPCS. Перечислите все семафоры.

Параметр ipcs -s используется для вывода списка доступных семафоров.

# ipcs -s

------ Semaphore Arrays --------
key        semid      owner      perms      nsems
0x0103eefd 0          root      664        1
0x0103eefe 32769      root      664        1
0x4b0d4514 1094844418 oracle    660        204

IPCS Пример 4. Список всей общей памяти

Опция ipcs -m с командой ipcs выводит список общих воспоминаний.

# ipcs -m

------ Shared Memory Segments --------
key        shmid      owner      perms      bytes      nattch     status
0xc616cc44 1056800768 oracle    660        4096       0
0x0103f577 323158020  root      664        966        1
0x0000270f 325713925  root      666        1          2

IPCS Пример 5. Подробная информация об объекте IPC

Параметр ipcs -i предоставляет подробную информацию об устройстве ipc.

# ipcs -q -i 32768

Message Queue msqid=32768
uid=0   gid=0   cuid=0  cgid=0  mode=0644
cbytes=0        qbytes=65536    qnum=0  lspid=0 lrpid=0
send_time=Not set
rcv_time=Not set
change_time=Thu Aug  5 13:30:22 2010

Опция -i с -q предоставляет информацию о конкретной очереди сообщений. Опция -i с параметром -s обеспечивает детали семафора. Опция -i с -m предоставляет подробности об общей памяти.

Пример 6 IPCS. Перечисляет пределы для возможности IPC.

Опция ipcs -l дает системные ограничения для каждого объекта ipc.

# ipcs -m -l

------ Shared Memory Limits --------
max number of segments = 4096
max seg size (kbytes) = 67108864
max total shared memory (kbytes) = 17179869184
min seg size (bytes) = 1

Приведенная выше команда дает ограничения для общей памяти. -l можно комбинировать с -q и -s для просмотра ограничений для очереди сообщений и семафоров соответственно.

Один параметр -l дает ограничения для всех трех средств IPC.

# ipcs -l

IPCS, пример 7. Сведения о создателе и владельце списка для объекта IPC

Опция ipcs -c выводит список идентификаторов пользователей и групп, а также владельцев и идентификаторов групп. Эта опция может быть объединена с -m, -s и -q для просмотра сведений об создателе для конкретного объекта IPC.

# ipcs -m -c

------ Shared Memory Segment Creators/Owners --------
shmid      perms      cuid       cgid       uid        gid
1056800768 660        oracle     oinstall   oracle     oinstall
323158020  664        root       root       root       root
325713925  666        root       root       root       root

IPCS Пример 8. Идентификаторы процессов, которые недавно обращались к средству IPC

Параметр ipcs -p отображает идентификатор создателя и идентификатор процесса, который совсем недавно получил доступ к соответствующему средству ipc.

# ipcs -m -p

------ Shared Memory Creator/Last-op --------
shmid      owner      cpid       lpid
1056800768 oracle     16764      5389
323158020  root       2354       2354
325713925  root       20666      20668

-p также можно комбинировать с -m, -s или -q.

Пример IPCS 9. Время последнего доступа

Параметр ipcs -t отображает время последней операции в каждом устройстве ipc. Эта опция также может быть объединена с -m, -s или -q для печати для конкретного типа ipc-объекта. Для очереди сообщений опция -t отображает время последней отправки и получения, для общей памяти — последнюю подключенную (часть памяти) и отдельную метку времени, а для семафора — последнюю операцию и измененные данные времени.

# ipcs -s -t

------ Semaphore Operation/Change Times --------
semid    owner      last-op                    last-changed
0        root        Thu Aug  5 12:46:52 2010   Tue Jul 13 10:39:41 2010
32769    root        Thu Aug  5 11:59:10 2010   Tue Jul 13 10:39:41 2010
1094844418 oracle      Thu Aug  5 13:52:59 2010   Thu Aug  5 13:52:59 2010

IPCS Пример 10. Состояние текущего использования

ipcs с командой -u отображает текущее использование всех средств IPC. Эта опция может быть объединена с определенной опцией, чтобы отобразить статус для определенного средства IPC.

# ipcs -u

------ Shared Memory Status --------
segments allocated 30
pages allocated 102
pages resident  77
pages swapped   0
Swap performance: 0 attempts     0 successes

------ Semaphore Status --------
used arrays = 49
allocated semaphores = 252

------ Messages: Status --------
allocated queues = 1
used headers = 0
used space = 0 bytes
 2019-2020 © linuxadmins all rights reserved

Facebook Twitter Vkontakte