Linux的IPC命令

转载 2015年07月09日 09:34:09

进程间通信概述

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

Linux进程间通信由以下几部分发展而来:

早期UNIX进程间通信:包括管道、FIFO、信号。

基于System V的进程间通信:包括System V消息队列、System V信号灯(Semaphore)、System V共享内存。

基于Socket进程间通信。

基于POSIX进程间通信:包括POSIX消息队列、POSIX信号灯、POSIX共享内存。

Linux中,与IPC相关的命令包括:ipcs、ipcrm(释放IPC)、

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

例如在CentOS6.0上执行ipcs

image

具体的用法总结如下:

1、显示所有的IPC设施

# ipcs -a

2、显示所有的消息队列Message Queue

# ipcs -q

3、显示所有的信号量

# ipcs -s

4、显示所有的共享内存

# ipcs -m

5、显示IPC设施的详细信息

# ipcs -q -i id

id 对应shmid、semid、msgid等。-q对应设施的类型(队列),查看信号量详细情况使用-s,查看共享内存使用-m。

6、显示IPC设施的限制大小

# ipcs -m -l

-m对应设施类型,可选参数包括-q、-m、-s。

7、显示IPC设施的权限关系

# ipcs -c

# ipcs -m -c

# ipcs -q -c

# ipcs -s -c

8、显示最近访问过IPC设施的进程ID。

# ipcs -p

# ipcs -m -p

# ipcs -q -p

9、显示IPC设施的最后操作时间

# ipcs -t

# ipcs -q -t

# ipcs -m -t

# ipcs -s -t

10、显示IPC设施的当前状态

# ipcs -u

Linux上的ipcs命令,不支持UNIX上的-b、-o指令,同样UNIX中不支持-l、-u指令,所以在编写跨平台的脚本时,需要注意这个问题。

参考资料:

1、Linux下IPCS的用法详解

2、Linux进程间通信

3、Linux下IPCS的10种用法

4、Linux IPC小结

5、Linux IPC总结



FROM:  http://www.cnblogs.com/cocowool/archive/2012/05/22/2513027.html

linux上samba服务的IPC$空连接入侵防范

The IPC$ share allows users to anonymously fetch a list of shared resources from a server. It can be...
  • bytxl
  • bytxl
  • 2015年07月08日 09:35
  • 1275

Linux进程间通信IPC的几种方式简介

Linux进程通信的源头       linux下的进程通信手段基本上是从Unix平台上的进程通信手段继承而来的。而对Unix发展做出重大贡献的两大主力AT&T(原为American Telephon...
  • u013074465
  • u013074465
  • 2015年05月27日 19:58
  • 3385

IPC$入侵完全指令

一   相关命令  1)建立空连接:  net use \\IP\ipc$ "" /user:""         (一定要注意:这一行命令中包含了3个空格)  2)建立非空连接:  net ...
  • yutel
  • yutel
  • 2014年06月25日 09:42
  • 1510

linux系统IPC浅谈

IPC作为进程间通讯的重要工具,被分为管道(无名管道),FIFO(又名管道),共享内存,信号量和消息队列。 1. 管道(pipe):我们一般提到的管道默认是无名管道,有以下几个特点: ->...
  • Riyadh_linux
  • Riyadh_linux
  • 2015年11月14日 00:07
  • 467

linux System V IPC总结

原文1:http://www.ibm.com/developerworks/cn/linux/l-ipc/ 原文2:http://blog.csdn.net/dxdxsmy/article/detai...
  • zwz19911991
  • zwz19911991
  • 2014年02月09日 22:45
  • 1456

细说linux IPC(十一):各种IPC形式比较总结(完)

【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet 或 .../gentleliu,文章仅供学习交流,请勿用于商业用途】                 这个系列基本...
  • gentleliu
  • gentleliu
  • 2014年12月09日 17:43
  • 3497

linux基础——linux进程间通信(IPC)机制总结

在linux下的多个进程间的通信机制叫做IPC(Inter-Process Communication),它是多个进程之间相互沟通的一种方法。在linux下有多种进程间通信的方法:半双工管道、命名管道...
  • a987073381
  • a987073381
  • 2016年07月23日 21:33
  • 6424

细说linux IPC(一):基于socket的进程间通信(上)

【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet 或 .../gentleliu,文章仅供学习交流,请勿用于商业用途】     在一个较大的工程当中,一般都会有多个进...
  • gentleliu
  • gentleliu
  • 2014年11月10日 11:55
  • 4460

Linux下IPC机制之Socket通信总结

Linux下IPC机制有很多种,Socket算得上比较广泛的一种,在不使用像D-Bus之类的重量级消息总线之前采用socket作为两个进程之间的通话算得上比较不错的选择,因此它的用途比较广泛.这里稍微...
  • flydream0
  • flydream0
  • 2013年12月16日 11:56
  • 5777

Linux进程间通信——IPC共享内存学习笔记

Linux进程间通信——IPC共享内存学习笔记
  • MR_Allen_Lwx
  • MR_Allen_Lwx
  • 2016年10月15日 10:51
  • 587
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux的IPC命令
举报原因:
原因补充:

(最多只允许输入30个字)