Linux IPC命令的用法详解

所属分类: 操作系统 / unix linux 阅读数: 122
收藏 0 赞 0 分享

进程间通信概述

进程间通信有如下的目的:
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指令,所以在编写跨平台的脚本时,需要注意这个问题。

更多精彩内容其他人还在看

ipfilter+ipnat包过滤、转发和DHCP服务器架构笔记

ipfilter+ipnat包过滤、转发和DHCP服务器架构笔记
收藏 0 赞 0 分享

FreeBSD5.4Release X Windows 安装笔记 (Freebsd5.4R+Gnome2.10.0)

FreeBSD5.4Release X Windows 安装笔记 (Freebsd5.4R+Gnome2.10.0)
收藏 0 赞 0 分享

在线rss阅读聚合器lilina-0.7安装笔记

在线rss阅读聚合器lilina-0.7安装笔记
收藏 0 赞 0 分享

使用Dreamhost空间下Shell命令的使用方法

使用Dreamhost空间下Shell命令的使用方法
收藏 0 赞 0 分享

Linux下的Grep命令使用方法详细介绍

Linux下的Grep命令使用方法详细介绍
收藏 0 赞 0 分享

linux下修改用户的工具介绍第1/2页

linux下修改用户的工具介绍
收藏 0 赞 0 分享

Linux tar  压缩打包命令使用方法第1/2页

Linux tar  压缩打包命令使用方法
收藏 0 赞 0 分享

Linux 入门常用命令 password — 修改密码,改变用户

Linux 入门常用命令 password — 修改密码,改变用户
收藏 0 赞 0 分享

Linux下必须要学的系统安全命令第1/4页

Linux下必须要学的系统安全命令
收藏 0 赞 0 分享

Linux rpm tar 操作系统下软件的安装与卸载方法

Linux rpm tar 操作系统下软件的安装与卸载方法
收藏 0 赞 0 分享
查看更多