1.命令简介
ipcs 命令用于查看 Linux 进程间通信设施的状态,包括消息列表、共享内存和信号量的信息。可以帮助开发人员定位进程间通信中出现的问题。
注意,本文描述的是 util-linux 版 ipcs,和其它版本(如 POSIX 版)的实现可能会有出入。
2.命令格式
ipcs[resource-option][output-format]
ipcs[resource-option]-iid
3.命令选项
-i,--idID
详细显示指定资源 ID 的 IPC 信息。使用时需要指定资源类型,资源包括消息队列(-q)、共享内存(-m)和信号量(-s)
-h,--help
显示帮助信息
-V,--version
显示版本信息
IPC 资源类型选项:
-q,--queues
显示活动的消息队列信息
-m,--shmems
显示活动的共享内存信息
-s,--semaphores
显示活动的信号量信息
-a,--all
显示系统内所有的IPC信息。命令的默认选项
输出格式选项:当指定多个时,以最后一个为准。
-c,--creator
查看IPC的创建者和所有者
-l,--limits
查看IPC资源的限制信息
-p,--pid
查看IPC资源的创建者和最后操作者的进程ID
-t,--time
查看最新调用 IPC 资源的详细时间。包括 msgsnd()和 msgrcv()对 message queues 的操作,shmat()和 shmdt()对shared memory 的操作,以及 semop()对 semaphores 的操作
-u,--summary
查看IPC资源状态汇总信息
显示大小单位控制选项:只对选项-l, --limits 生效
-b,--bytes
以字节为单位显示大小
--human
以可读的格式显示大小
4.常用示例
(1)显示所有IPC信息。
(2)显示共享内存指定ID的信息。
[root@TENCENT64/]#ipcs-m-i32769
SharedmemorySegmentshmid=32769
uid=0gid=0cuid=0cgid=0
mode=0666access_perms=0666
bytes=12000lpid=2784cpid=1077nattch=3
att_time=ThuDec2710322018
det_time=ThuDec2710322018
change_time=FriJul2013412018
(3)查看 IPC 的创建这和最最后操作者的进程 ID。
------MessageQueuesPIDs--------
msqidownerlspidlrpid
------SharedMemoryCreator/Last-opPIDs--------
shmidownercpidlpid
0root70223364
32769root7025296
其中 lspid 代表最近一次向消息队列中发送消息的“进程号”,lrpid 对应最近一次从消息队列中读取消息的“进程号”。但请注意:此处的进程号是弱进程号,既它有可能代表的是线程号,如果进程中是起的线程对消息队列发送、接收消息,则此处 pid 对应的均是线程号。可以采用ps -AL | grep pid
来查找该线程对应的进程 id。
参考文献
[1] ipcs(1) manual
[2] Index of /pub/linux/utils/util-linux/
[3] ipcs和ipcsrm 命令的使用方法
[4] 工作中常用的Linux命令:ipcs/ipcrm命令
[5] ipcs命令详解——共享内存、消息队列、信号量定位利器
责任编辑:xj
原文标题:每天一个 Linux 命令(111):ipcs 命令
文章出处:【微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。
-
Linux +关注
关注
73文章
7543浏览量
193656 -
命令 +关注
关注
4文章
122浏览量
19557 -
通信设施 +关注
关注
0文章
7浏览量
6184
原文标题:每天一个 Linux 命令(111):ipcs 命令
文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
Linux与Windows文件换行符的区别
iCore-3568JQ-工具-Linux_Upgrade_Tool_v1.59

TI的Sitara AM6442实时网络处理器

iCore-3568JQ-源代码-Linux_SDK源码包

iCore-3568JQ-工具-firefly-linux-repack

iCore-3568JQ-资源-linux-headers

基于ANSI C加密库的RTCA DO-178C的DAL A支持
【赛昉科技昉·星光RISC-V单板计算机试用体验】运行边缘AI框架——TFLM

【时擎科技AT1000开发板试用体验】官方Linux sdk编译配置
【赛昉科技昉·星光RISC-V单板计算机试用体验】Debian系统Wi-Fi联网和国内apt源

NVIDIA DOCA数据处理器软件正式开放
Linux内存背后的那些事儿
嵌入式必学!硬件资源接口详解——基于ARM AM335X开发板 (下)
A13-OLinuXino-MICRO的特征
【赛昉科技昉·星光RISC-V单板计算机试用体验】Debian系统内核编译与安装升级
香橙派RK3399开发板OrangePi4 LTS在linux上的GPU测试说明

关于Google Flutter 3更新内容
提高基于Linux的网络连接系统的安全性
基于Linux的虚拟交换机Open vSwitch项目
基于Linux的物联网设备的安全案例
使用嵌入式Linux的动态电源管理策略
IP平台支持云连接设备开发
libcurl等第三方库的通用编译方法
栈是什么?栈有什么作用?
SUSE正式发布SUSE Euler Linux2.0
SUSE正式发布SUSE Euler Linux 2.0
Amnesia:The Dark Descent冒险类游戏《失忆症:黑暗后裔》

通向软件定义联网汽车的AGL路径
应对ADAS和自动驾驶的软件挑战
求助大神,求分享一份CH563L USB设备驱动Linux的资料
【赛昉科技昉·星光RISC-V单板计算机试用体验】Fedora快速上手和GPIO点灯

AM4379 AM437x ARM Cortex-A9 微处理器 (MPU)

评论