ipcs

1. 命令格式

  ipcs [resource-option] [output-format]
  ipcs [resource-option] -i id

2. 命令功能

  提供IPC设备的信息

3. 使用方法

 resource选项:

  ipcs -m  查看系统共享内存信息

  ipcs -q  查看系统消息队列信息

  ipcs -s  查看系统信号量信息

  ipcs [-a] 系统默认输出信息,显示系统内所有的IPC信息

[martin@localhost data]$ ipcs -a

------ Message Queues --------
key msqid owner perms used-bytes messages ------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x00000000 229376 martin 600 4194304 2 dest
0x00000000 196609 martin 600 524288 2 dest
0x00000000 327682 martin 600 393216 2 dest
0x00000000 491525 martin 600 2097152 2 dest ------ Semaphore Arrays --------
key semid owner perms nsems

 输出格式控制:

  ipcs -c  查看IPC的创建者和所有者

  ipcs -l  查看IPC资源的限制信息

  ipcs -p  查看IPC资源的创建者和使用的进程ID

  ipcs -t  查看最新调用IPC资源的详细时间

  ipcs -u  查看IPC资源状态汇总信息

[martin@localhost data]$ ipcs -u --human

------ Messages Status --------
allocated queues = 0
used headers = 0
used space = 0B ------ Shared Memory Status --------
segments allocated 4
pages allocated 1760
pages resident 339
pages swapped 0
Swap performance: 0 attempts 0 successes ------ Semaphore Status --------
used arrays = 0
allocated semaphores = 0

 额外格式控制:

  ipcs -l --human

    以人类可以阅读的方式显示size

[martin@localhost data]$ ipcs -l --human

------ Messages Limits --------
max queues system wide = 3644
max size of message = 8K
default max size of queue = 16K ------ Shared Memory Limits --------
max number of segments = 4096
max seg size = 16E
max total shared memory = 16E
min seg size = 1B ------ Semaphore Limits --------
max number of arrays = 128
max semaphores per array = 250
max semaphores system wide = 32000
max ops per semop call = 32
semaphore max value = 3276

ipcrm

1. 命令功能

  通过指定ID删除删除IPC资源,同时将与IPC对象关联的数据一并删除,只有超级用户或IPC资源创建者能够删除

2. 使用方法

  ipcrm -M shmkey

    移除用shmkey创建的共享内存段

  ipcrm -m shmid

    移除用shmid标识的共享内存段

  ipcrm -S semkey

    移除用semkey创建的信号量

  ipcrm -s semid

    移除用semid标识的信号量

  ipcrm -Q msgkey

    移除用msgkey创建的消息队列

  ipcrm -q msgid

    移除用msgid标识的消息队列

 
查看共享内存
[app_usr@js2test01 shell]$ ipcs
------ Shared Memory Segments --------
key        shmid      owner      perms      bytes      nattch     status     
0x0122f9df 12419074   app_usr   666        70604918   0                      
0x0001b3ef 14450693   app_usr   666        70604278   0                      
0x0003d09a 14385158   app_usr   666        67732      1
//各字段含义:
第一列就是共享内存的key;
第二列是共享内存的编号shmid;
第三列就是创建的用户owner;
第四列就是权限perms;
第五列为创建的大小bytes;
第六列为连接到共享内存的进程数nattach;
第七列是共享内存的状态status。其中显示“dest”表示共享内存段已经被删除,但是还有用户在使用它,当该段内存的mode字段设置为SHM_DEST时就会显示“dest”。当用户调用shmctl的IPC_RMID时,内存先查看多少个进程与这个内存关联着,如果关联数为0,就会销毁这段共享内存,否者设置这段内存的mod的mode位为SHM_DEST,如果所有进程都不用则删除这段共享内存。
//删除共享内存
直接使用#ipcrm -m shmid可能不能直接删除掉还存在进程使用的共享内存。这时候可以用ps -ef对进程进行查看,kill掉多余的进程后,再使用ipcs查看。
 ————————————————
版权声明:本文为CSDN博主「redcisco」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/jgy8421d13/article/details/52230157

Linux 命令 ipcs/ipcrm的更多相关文章

  1. 工作中常用的Linux命令:ipcs/ipcrm命令

    本文链接:http://www.cnblogs.com/MartinChentf/p/6057100.html (转载请注明出处) ipcs 1. 命令格式 ipcs [resource-option ...

  2. Linux命令:ipcs/ipcrm命令

    ipcs/ipcrm命令  是linux/uinx上提供关于一些进程间通信方式的信息,包括共享内存,消息队列,信号 多进程间通信常用的技术手段包括共享内存.消息队列.信号量等等,Linux系统下自带的 ...

  3. 工作中常用的Linux命令:目录

    工作两三年,每天都和Linux打交道,但每每使用Linux命令的时候却会像提笔忘字般不知如何使用,常常查手册或到网上找资料.此系列文章主要是为了方便自己在使用命令时随时可查阅.鄙人才疏学浅,文中若有任 ...

  4. 【Kill】两条Linux命令彻底杀死Oracle

    今天编写的两条极具杀伤力的命令,它可以瞬间将Oracle杀死在无形之中.后面我将给出简单注释并展示一下它的威力.$ ps -ef |grep $ORACLE_SID|grep -v grep|awk ...

  5. 运维必须掌握的150个Linux命令

    线上查询及帮助命令(1个)man 目录操作命令(6个)ls tree pwd mkdir rmdir cd 文件操作命令(7个)touch cp mv rm ln find rename 文件查看及处 ...

  6. linux 命令中英文对照,收集

    linux 命令中英文对照,收集   linux 命令英文全文 Is Linux CLI case-sensitive? The answer is, yes. If you try to run L ...

  7. 《Linux命令学习手册》系列分享专栏

    <Linux命令学习手册>系列分享专栏 <Linux命令学习手册>已整理成PDF文档,点击可直接下载至本地查阅https://www.webfalse.com/read/207 ...

  8. Linux命令——pr

    参考:Linux命令——column 前言 接触这个命令的初衷是我想把一个很长的单列输出设置成多列输出,奈何column的分列输出机制太智障,直到我发现了pr 参数 pr -# 输出指定的列数. -t ...

  9. (4)Linux命令分类汇总(13~16)

    Linux命令分类汇总(13~16) (十三)系统管理与性能监视命令(9个) 79       chkconfig 管理Linux系统开机启动项. 80       vmstat 虚拟内存统计. 81 ...

随机推荐

  1. SAS学习笔记63 如何导出Log

    如上,将Log输出,然后又恢复到SAS系统里面的Log,把需要运行的程序放到他们中间就可以了.这种方法不会出现Log打印满了的情况 这种是先输出在SAS系统里面,然后在输出,在SAS里面Log的行是有 ...

  2. Springboot 之 静态资源路径配置

    1.静态资源路径是指系统可以直接访问的路径,且路径下的所有文件均可被用户通过浏览器直接读取. 2.在Springboot中默认的静态资源路径有:classpath:/META-INF/resource ...

  3. docker容器日志管理(清理)

    原文:docker容器日志管理(清理) 前言 在使用docker容器时候,其日志的管理是我们不得不考虑的事情.因为docker容器的日志文件会占据大量的磁盘空间.下面介绍的就是对docker容器日志的 ...

  4. C#中Unity对象的注册方式与生命周期解析

    1.示例代码 请详细阅读 static void Main(string[] args) { { Console.WriteLine("----------全局设置----------&qu ...

  5. 直线DDA,直线和圆的Bresenham算法

    // DDA.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<Windows.h> #include<g ...

  6. ASP.NET EF实体主外键关系

    其他解释 https://www.cnblogs.com/wuhenke/archive/2010/08/11/1797307.html 主键.外键 需要删除完外键表才能删除主键表 一对一关系peop ...

  7. 9.如何让一个div 上下左右居中?【CS

      方法1:[绝对定位50%-本身50%]              position:absolute; left:50%; top:50%;              transform: tra ...

  8. Java 之 Servlet 3.0

    Servlet 3.0 好处: 支持注解配置,不需要 web.xml 文件了. 步骤: (1)创建 Java EE 项目,注意:JavaEE 版本必须6.0以上才支持Servlet3.0,可以不创建 ...

  9. C++线程同步与互斥之互斥体

    抢红包练习 第一步:在第一个文本框中输入一个值,比如1000: 第二步:点击抢红包,同时创建3个线程,每个线程循环进行抢红包的操作,每次抢50; 第三步:使用Mutex进行线程控制,当第一个文本框中的 ...

  10. android 给ImageView设置路径

    ImageView是Android程序中经常用到的组件,它将一个图片显示到屏幕上. 在UI xml定义一个ImageView如下: public void onCreate(Bundle savedI ...