进程间通信概述
进程间通信有如下的目的:
1、数据传输,一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几M之间;
2、共享数据,多个进程想要操作共享数据,一个进程对数据的修改,其他进程应该立刻看到;
3、通知事件,一个进程需要向另一个或一组进程发送消息,通知它们发生了某件事情;
4、资源共享,多个进程之间共享同样的资源。为了做到这一点,需要内核提供锁和同步机制;
5、进程控制,有些进程希望完全控制另一个进程的执行(如Debug进程),此时控制进程希望能够拦截另一个进程的所有陷入和异常,并能够及时知道它的状态改变。

Linux中,与IPC相关的命令包括:ipcs、ipcrm(释放IPC)、
IPCS命令是Linux下显示进程间通信设施状态的工具。我们知道,系统进行进程间通信(IPC)的时候,可用的方式包括信号量、共享内存、消息队列、管道、信号(signal)、套接字等形式。使用IPCS可以查看共享内存、信号量、消息队列的状态。

1.命令:ipcs
说明:显示消息队列、共享内存、信号量

ipcs [-a][-m|-q|-s]
  -a       是默认的输出信息 打印出当前系统中所有的进程间通信方式的信息
 -m       输出有关共享内存(shared memory)的信息
 -q        输出有关消息队列(message queue)的信息
 -s        输出有关“信号量”(semaphore)的信息

其中:
第一列就是共享内存的key;
第二列是共享内存的编号shmid;
第三列就是创建的用户owner;
第四列就是权限perms;
第五列为创建的大小bytes;
第六列为连接到共享内存的进程数nattach;
第七列是共享内存的状态status。其中显示“dest”表示共享内存段已经被删除,但是还有用户在使用它,当该段内存的mode字段设置为 SHM_DEST时就会显示“dest”。当用户调用shmctl的IPC_RMID时,内存先查看多少个进程与这个内存关联着,如果关联数为0,就会销 毁这段共享内存,否者设置这段内存的mod的mode位为SHM_DEST,如果所有进程都不用则删除这段共享内存。

输出格式的控制

ipcs -t   输出信息的详细变化时间
 ipcs -p  输出ipc方式的进程ID
 ipcs -c  输出ipc方式的创建者/拥有者
 ipcs -l  输出ipc各种方式的在该系统下的限制条件信息
 ipcs -u  输出当前系统下ipc各种方式的状态信息(共享内存,消息队列,信号)

2.命令:ipcrm
说明:删除消息队列、共享内存、信号灯
ipcrm [ -M key | -m id | -Q key | -q id | -S key | -s id ] ...
 -M   以shmkey删除共享内存
 -m   以shmid删除共享内存
 -Q   以msgkey删除消息队列
 -q    以msgid删除消息队列
 -S    以semkey删除信号灯
 -s    以semid删除信号灯

下面的命令可以释放所有已分配的共享内存:
ipcs -m | awk '$2 ~ /[0-9]+/ {print $2}' | while read s; do sudo ipcrm -m $s; done

ipcs、ipcrm命令的更多相关文章

  1. Linux命令:ipcs/ipcrm命令

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

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

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

  3. ipcs, ipcrm 命令

    ipcs命令 是linux/uinx上提供关于一些进程间通信方式的信息,包括共享内存,消息队列,信号 ipcs用法 ipcs -a  是默认的输出信息 打印出当前系统中所有的进程间通信方式的信息 ip ...

  4. linux命令(7):ipcs/ipcrm命令

    ipcs作用 :查看消息队列(ipcs –q).共享内存(ipcs –m).信号灯(ipcs -s) ipcrm作用 :删除消息队列.共享内存.信号灯 ipcrm使用方式: ipcrm [ -M ke ...

  5. Linux 命令 ipcs/ipcrm

    ipcs 1. 命令格式 ipcs [resource-option] [output-format] ipcs [resource-option] -i id 2. 命令功能 提供IPC设备的信息 ...

  6. ipcs, ipcrm

    ipcs ipcs -m #查看系统中已经存在的共享内存 ------ Shared Memory Segments -------- key shmid owner perms bytes natt ...

  7. ipcs、ipcrm、sysresv、kernel.shmmax

    ipcs.ipcrm.sysresv.kernel.shmmax 1.1  BLOG文档结构图 1.2  前言部分 1.2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可 ...

  8. php中对共享内存,消息队列的操作

    http://www.cnblogs.com/fengwei/archive/2012/09/12/2682646.html php作为脚本程序,通常生命周期都很短,如在web应用中,一次请求就是ph ...

  9. 查看 共享内存 的命令 ipcrm、ipcs

    ipcrm 命令 移除一个消息对象.或者共享内存段,或者一个信号集,同时会将与ipc对象相关链的数据也一起移除.当然,只有超级管理员,或者ipc对象的创建者才有这项权利啦 ipcrm用法 ipcrm ...

随机推荐

  1. 请简单介绍一下Spring

    Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的.框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架. Spring ...

  2. Data Structure Array: Maximum circular subarray sum

    http://www.geeksforgeeks.org/maximum-contiguous-circular-sum/ #include <iostream> #include < ...

  3. 【Java】-BigInteger大数类的使用【超强Java大数模板 总结】

    Scanner cin = new Scanner(new BufferedInputStream(System.in)); 这样定义Scanner类的对象读入数据可能会快一些! 参考这个博客继续补充 ...

  4. linux 软件包的命名规则

     linux软件包的命名规则 eg:主包       bind-9.7.1-1.el7.i586.rpm 子包 bind-libs-9.7.1-1.el7.i586.rpm bind-utils-9. ...

  5. Codeforces 876C Classroom Watch:枚举

    题目链接:http://codeforces.com/contest/876/problem/C 题意: 定义函数:f(x) = x + 十进制下x各位上的数字之和 给你f(x)的值(f(x) < ...

  6. php: xampp安装对应的phalcon版本(3.2.2-php5.6):比如redis-php5.6, php_igbinary-5.6

    php: xampp安装对应的phalcon版本(3.2.2-php5.6):比如redis-php5.6, php_igbinary-5.6 一.php安装redis扩展   1.使用phpinfo ...

  7. Mysql5.5 InnoDB存储引擎配置和优化

    环境为CentOS系统,1G内存,Mysql5.5.30.在/etc/my.cnf内添加: 复制代码代码如下: skip-external-lockingskip-name-resolvemax_co ...

  8. python UDP CS demo

    UDP Communication Contents UDP Communication Sending Receiving Using UDP for e.g. File Transfers Mul ...

  9. hdu-5642 King's Order(数位dp)

    题目链接: King's Order Time Limit: 2000/1000 MS (Java/Others)     Memory Limit: 65536/65536 K (Java/Othe ...

  10. FFMPEG实现H264的解码(从源代码角度)

    农历2014年底了,将前段时间工作中研究的FFMPEG解码H264流程在此做一下整理,也算作年终技术总结了! H264解码原理: H264的原理参考另一篇博文 http://blog.csdn.net ...