ipcs 和 ipcrm 都是与进程间通信有关的命令。可以看到这两个命令都是以IPC开头的— Inter-process Comminication,就是进程间通信。

我们先来了解下进程间通信能干什么?

进程间通信的目的就是为了:

  1. 数据传输:一个进程要将它的数据发送给另一个进程
  2. 资源共享:多个进程之间共享同样的资源
  3. 通知事件:一个进程需要向另一个进程或进程组发送消息,通知某件事发生(比如子进程退出要通知父进程)
  4. 进程控制:有些进程希望完全控制另一个进程的执行,此时控制进程希望能够拦截另一个进程的所有拦截和异常,并能够及时知道它的状态。

进程间通信有两种版本的不同通信方式

POSIX和System V两种标准。

POSIX下有共享内存、消息队列、信号量、互斥量、条件变量、互斥锁
System V下有共享内存、消息队列、信号量


那么说下ipcs 和 ipcrm 是什么?
这两个就是与进程间通信有关的命令。

ipcs就是查看内核当中所有的进程间通信方式

它有 -q -m -s 三个选项,分别对应消息队列、共享内存、信号量

ipcrm就是删除某一个进程间通信

它也有-q -m -s三个选项,分别对应消息队列、共享内存、信号量


使用ipcs可以查看所有的三种进程间通信方式
ipcs 和 ipcrm 了解
使用ipcs -q 只查看消息队列
ipcs 和 ipcrm 了解
使用ipcs -m只查看共享内存
ipcs 和 ipcrm 了解
使用ipcs -s只差看信号量
ipcs 和 ipcrm 了解


ipcrm 顾名思义就是rm ipc 也就是删除对应的进程间通信
ipcrm -m “shmid” 删除对应的共享内存
ipcrm -q “msqid” 删除对应的消息队列
ipcrm -s “semid” 删除对应的信号量
ipcs 和 ipcrm 了解

相关文章: