linux学习笔记--ipcs命令

最近在做共享内存这块,经常接触到ipcs这个命令,所以顺便来csdn做一下笔记,免得以后忘了哈。

我们知道,进程间通信,主要有几个方法:信号、共享内存、队列、管道、信号量、套接字。而ipcs就是查看当前进程通信内容的命令

主要有以下几个参数:

ipcs -a  是默认的输出信息 打印出当前系统中所有的进程间通信方式的信息
ipcs -m  打印出使用共享内存进行进程间通信的信息
ipcs -q   打印出使用消息队列进行进程间通信的信息
ipcs -s  打印出使用信号进行进程间通信的信息 

ipcs -t   输出信息的详细变化时间

ipcs -p  输出ipc方式的进程ID
ipcs -c  输出ipc方式的创建者/拥有者


在我的fedora上直接输入ipcs,显示如下:



------------shared memory segments------------------共享内存

从左到右分别是key ,共享内存的标识id,所有者,操作权限,共享内存大小,当前占用的进程数,共享内存的状态

dest表示共享内存段已经删除,但是还有用户在使用它。

听起来云里雾里,于是参照了另外一篇csdn文章,看了觉得有点明白:

调用shmctl函数的IPC_RMID对共享内存段进行删除时,系统会首先查看一下该内存段是否有进程在调用。如果没有,则直接删除;如果内存还在为进程服务,则将其状态置为dest,等到关联的进程结束,内核再对其进行删除回收。


------------semaphore arrays--------------信号量(信号量数组)

nsem表示信号量数组中的信号量数


----------- message queues---------------消息队列


另外,我们可以用ipcrm命令去删除相应的进程通信方式:

ipcrm -M shmkey  移除用shmkey创建的共享内存段
ipcrm -m shmid    移除用shmid标识的共享内存段
ipcrm -Q msgkey  移除用msqkey创建的消息队列
ipcrm -q msqid  移除用msqid标识的消息队列
ipcrm -S semkey  移除用semkey创建的信号
ipcrm -s semid  移除用semid标识的信号

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一些常见的Linux系统运维基础命令: 1. 查询日志文件大于100M的文件并按照大小排序: 使用命令`find /path/to/logs -size +100M -exec ls -lh {} \; | sort -k5 -h` 2. 查询当前端口进程是否运行: 使用命令`netstat -tuln | grep <port>` 3. 查看盘符信息: 使用命令`df -h` 4. 查看实例上的数据盘信息: 使用命令`lsblk` 5. 用于报告Linux中进程间通信设施的状态,显示的信息包括消息列表、共享内存和信号量的信息: 使用命令`ipcs` 6. 查询进程号: - 显示各个进程内存使用情况并按照rss排序: 使用命令`ps aux --sort -rss` - 显示所有的进程,并显示运行进程的命令: 使用命令`ps aux` - 列出CPU使用最高的5个进程: 使用命令`top -b -n 1 | head -n 12` - 列出内存使用最高的5个进程: 使用命令`top -b -n 1 | head -n 12` 7. 通过进程ID查询执行文件所在位置: 使用命令`readlink /proc/<pid>/exe` 8. 查看文件内存: 使用命令`pmap <pid>` 9. 查看内存使用量: 使用命令`free -m` 10. 查看内存映射文件: 使用命令`cat /proc/<pid>/maps` 11. Linux查看CPU物理核心数命令: - 使用命令`lscpu | grep "Core(s) per socket"` - 使用命令`cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l` 12. Linux查看CPU逻辑核心数命令: 使用命令`lscpu | grep "CPU(s):" | awk '{print $2}'` 13. Linux查看CPU主频命令: 使用命令`lscpu | grep "MHz"` 14. Linux查看CPU型号命令: 使用命令`cat /proc/cpuinfo | grep "model name" | uniq` 15. Linux检查CPU是否支持64位运算命令(返回值大于0表示支持): 使用命令`grep -c " lm " /proc/cpuinfo` 16. 一个报告虚拟内存统计信息的小工具: 使用命令`vmstat` 17. 查询所有进程占用情况: - 使用命令`top` - 使用命令`htop` 18. 查询系统IO实时使用情况: 使用命令`iostat` 19. DMI表解码器,可以用来描述系统的构成(以及系统的演变): 使用命令`dmidecode` 20. 查看Linux系统中的CPU更为详细的信息: 使用命令`lscpu` 21. 显示每个CPU处理器的统计: 使用命令`mpstat -P ALL` 22. 可连续对系统性能进行采样分析: 使用命令`perf` 23. 查看系统内核: 使用命令`uname -a` 24. 查看CPU负载: 使用命令`uptime` 25. 跟踪进程的系统调用或信号产生的情况: 使用命令`strace <command>` 26. 跟踪进程调用库函数的情况: 使用命令`ltrace <command>` 这些命令可以帮助你了解和监控Linux系统的运行状态,进行故障排查和性能调优。请根据实际需求选择适合的命令使用。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值