Linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。本文主要介绍Linux ipcs 命令。

1、命令简介

ipcs:用于显示关于共享内存、消息队列和信号量的信息。这些资源是用于进程间通信(IPC)的机制,允许不同的进程在同一系统中交换数据和同步操作。

2、命令语法

ipcs [-qms][-a | -bcopt]

3、命令描述

ipc实用程序应写入有关主动进程间通信设施的信息。如果没有选项,信息将以短格式写入系统中当前活动的消息队列、共享内存段和信号量集。否则,显示的信息由指定的选项控制。

4、命令选项

选项

描述

-q

显示有关活动消息队列的信息。

-m

显示有关活动共享内存段的信息。

-s

显示有关活动信号量集的信息。

-a

使用所有打印选项。

(这是 -b、-c、-o、-p 和 -t 的速记符号。)

-b

写入关于最大允许大小的信息。

(消息队列的消息中的最大字节数、

共享内存段的大小,

以及信号量集中每个集合中的信号量数。)

-c

写入创建者的用户名和组名;详见下文。

-o

写入有关未完成使用的信息。

(消息队列上的消息数

和消息队列中的消息的总字节数,

共享内存段上连接的进程数。)

-p

写入进程编号信息。

(最后一个发送消息的进程的进程 ID

和最后一个接收消息的进程的进程 ID

(对于消息队列),

创建进程的进程 ID,

以及最后一个附加或分离的进程的进程 ID

(对于共享内存段)。)

-t

写入时间信息。

(上次更改所有设施的访问权限的最后一次控制操作的时间,

消息队列上的最后一次 msgsnd()

和 msgrcv() 操作的时间,

共享内存上的最后一次 shmat()

和 shmdt() 操作的时间,

以及信号量上的最后一次 semop() 操作的时间。)

5、使用示例

1)列出所有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

2)列出所有消息队列

$ ipcs -q

输出:

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

3)列出所有信号量

# ipcs -s

输出:

------ Semaphore Arrays --------
key        semid      owner      perms      nsems
0x0203eefd 0          root      664        1
0x0104ecfe 32749      root      664        1
0x4b0d4114 1094834418 oracle    660        204

4)列出所有共享内存

# 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

5)关于IPC设施的详细信息

# ipcs -q -i 32768

输出:

Message Queue msqid=33748
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  1 13:30:22 2020 

推荐文档