📜  Linux 中的“IPCS”命令及示例

📅  最后修改于: 2022-05-13 01:57:04.742000             🧑  作者: Mango

Linux 中的“IPCS”命令及示例

ipcs显示有关调用进程具有读取访问权限的进程间通信设施的信息。默认情况下,它显示有关所有三种资源的信息:共享内存段、消息队列和信号量数组。
如果没有选项,信息应以短格式写入系统中当前处于活动状态的消息队列、共享内存段和信号量集。否则,显示的信息由指定的选项控制。

选项 :

  • -q :写入有关活动消息队列的信息。
  • -m :写入有关活动共享内存段的信息。
  • -s :写入有关活动信号量集的信息。
  • -a :使用所有打印选项。 (这是 -b、-c、-o、-p 和 -t 的简写符号。)
  • -b :写入最大允许大小的信息。 (消息队列的队列中消息的最大字节数,共享内存的段大小,以及每个信号量集合中的信号量数量。)
  • -c :写入创建者的用户名和组名;。
  • -o :写入未完成使用情况的信息。 (队列中的消息数和消息队列队列中消息的总字节数,以及附加到共享内存段的进程数。)
  • -p :写入进程号信息。 (最后一个发送消息的进程的进程 ID 和最后一个接收消息队列的进程的进程 ID,创建进程的进程 ID,以及最后一个在共享内存段上附加或分离的进程的进程 ID。)
  • -t :写入时间信息。 (最后一次更改所有设施访问权限的控制操作的时间,最后一次对消息队列的 msgsnd() 和 msgrcv() 操作的时间,最后一次对共享内存的 shmat() 和 shmdt() 操作的时间,以及时间信号量上的最后一个 semop() 操作。)

IPCS 命令示例:

1:列出所有 IPC 设施

# ipcs -a : It provides details about message queue, semaphore and shared memory.


所有 IPC 设施都有唯一的密钥和标识符,用于标识 IPC 设施。

2:列出所有消息队列

$ ipcs -q : It lists only message queues for which the current process has read access.


3.列出所有信号量

# ipcs -s : To list the accessible semaphores.


4.列出所有共享内存

# ipcs -m : To lists the shared memories.


5. 获取有关 IPC 设施的详细信息

# ipcs -m -i 425984 : To detailed information about an ipc facility(here for id-425984).

6. 列出 IPC 设施的限制

# ipcs -m -l : To get the system limits for each ipc facility.

# ipcs -l : To get the limits for all three IPC facilities.


7. 列出 IPC 设施的创建者和所有者详细信息

# ipcs -m -c : To list creator userid and groupid and owner userid and group id.

8.获取最近访问IPC设施的进程ID

# ipcs -m -p : To displays creator id, and process id which accessed the corresponding ipc facility very recently.

9. 获取上次访问时间

# ipcs -s -t : To get the last operation time in each ipc facility.


10.获取当前使用状态

# ipcs -u : To display current usage for all the IPC facility.

参考: IPCS Linux 手册页