利用shell命令取得当前系统所有的IPC信息

zshtiger2414 2009-07-29 11:00:09
在做一个shell小程序,以取得在当前UNIX系统中存在的所有的IPC信息。
不知道是不是有什么命令可以直接取得IPC的具体的内容。

我现在自己做了一个小程序,但是只能取得共享内存的信息。
想请教怎么去取得剩下的消息队列以及信号里量的信息。
...全文
187 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zshtiger2414 2009-07-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 showman 的回复:]
顶楼上:

ipcs命令

使用权限:所有使用者
使用方式:
      ipcs [ -asmq ] [ -tclup ]
      ipcs [ -smq ] -i id
      ipcs –h
说明:显示进程间通信信息
参数:
-m  显示共享内存
-q    显示消息队列
-s    显示信号灯
-a    显示所有信息,默认为该选项
范例:
$ipcs              #显示所有信息,包括消息队列、共享内存、信号灯,与命令ipcs –a等价
$ ipcs

------ Shared Memory Segments --------
key        shmid      owner      perms      bytes      nattch    status   

------ Semaphore Arrays --------
key        semid      owner      perms      nsems   

------ Message Queues --------
key        msqid      owner      perms      used-bytes  messages 


$ipcs -m                #显示共享内存信息
$ ipcs -m

------ Shared Memory Segments --------
key        shmid      owner      perms      bytes      nattch    status   


$ipcs -s                #显示信号灯信息
$ ipcs -s

------ Semaphore Arrays --------
key        semid      owner      perms      nsems   


$ipcs -q                #显示消息队列信息
$ ipcs -q

------ Message Queues --------
key        msqid      owner      perms      used-bytes  messages 


[/Quote]

这些东西我也能找到阿!
我说的是在这些信息后面所能取到的东西!
  • 打赏
  • 举报
回复
想请教怎么去取得剩下的消息队列以及信号里量的信息。

获得什么样的信息?消息队列里还有啥数据?
ShowMan 2009-07-29
  • 打赏
  • 举报
回复
顶楼上:

ipcs命令

使用权限:所有使用者
使用方式:
ipcs [ -asmq ] [ -tclup ]
ipcs [ -smq ] -i id
ipcs –h
说明:显示进程间通信信息
参数:
-m 显示共享内存
-q 显示消息队列
-s 显示信号灯
-a 显示所有信息,默认为该选项
范例:
$ipcs #显示所有信息,包括消息队列、共享内存、信号灯,与命令ipcs –a等价
$ ipcs

------ Shared Memory Segments --------
key shmid owner perms bytes nattch status

------ Semaphore Arrays --------
key semid owner perms nsems

------ Message Queues --------
key msqid owner perms used-bytes messages


$ipcs -m #显示共享内存信息
$ ipcs -m

------ Shared Memory Segments --------
key shmid owner perms bytes nattch status


$ipcs -s #显示信号灯信息
$ ipcs -s

------ Semaphore Arrays --------
key semid owner perms nsems


$ipcs -q #显示消息队列信息
$ ipcs -q

------ Message Queues --------
key msqid owner perms used-bytes messages

leeyiqun 2009-07-29
  • 打赏
  • 举报
回复
用 ipcs 命令。
本资源含所有三个任务的源代码,采用Visual Studio.NET 2003的C++与MFC编写(前端有图形化界面),供各位参考。 课程设计目的 本设计的目的是实现操作系统和相关系统软件的设计,其中涉及进程编程、I/O操作、存储管理、文件系统等操作系统概念。 课程设计要求 (1)对进行认真分析,列出实验具体步骤,写出符合题目要求的程序清单,准备出调试程序使用的数据。 (2)以完整的作业包的形式提交原始代码、设计文档和可运行程序。提交的光盘应当包括:设计题目,程序清单,运行结果分析,所选取的算法及其优缺点,以及通过上机取得了哪些经验。程序清单要求格式规范,注意加注释(包含关键字、方法、变量等),在每个模块前加注释,注释不得少于20%。课程设计要求同时上交打印文档,设计报告包括设计题目,算法分析,关键代码及其数据结构说明,运行结果分析以及上机实践的经验总结。 设计一: 设计任务:模拟Linux文件系统 在任一OS下,建立一个大文件,把它假象成一张盘,在其中实现一个简单的模拟Linux文件系统。 在现有机器硬盘上开辟100M的硬盘空间,作为设定的硬盘空间。 编写一管理程序simdisk对此空间进行管理,以模拟Linux文件系统,要求: 盘块大小1k 空闲盘块的管理:Linux位图法 结构:超级块, i结点区, 根目录区 该simdisk管理程序的功能要求如下: info: 显示整个系统信息(参考Linux文件系统系统信息),文件可以根据用户进行读写保护。目录名和文件名支持全路径名和相对路径名,路径名各分量间用“/”隔开。 cd …: 改变目录:改变当前工作目录,目录不存在时给出出错信息。 dir …: 显示目录:显示指定目录下或当前目录下的信息,包括文件名、物理地址、保护码、文件长度、子目录等(带/s参数的dir命令,显示所有子目录)。 md …: 创建目录:在指定路径或当前路径下创建指定目录。重名时给出错信息。 rd …: 删除目录:删除指定目录下所有文件和子目录。要删目录不空时,要给出提示是否要删除。 newfile …: 建立文件。 cat …: 打开文件。 copy …: 拷贝文件,除支持模拟Linux文件系统内部的文件拷贝外,还支持host文件系统与模拟Linux文件系统间的文件拷贝,host文件系统的文件命名为…,如:将windows下D:盘的文件\data\sample\test.txt文件拷贝到模拟Linux文件系统中的/test/data目录,windows下D:盘的当前目录为D:\data,则使用命令: simdisk copy D:\data\sample\test.txt /test/data 或者:simdisk copy D:sample\test.txt /test/data del …: 删除文件:删除指定文件,不存在时给出出错信息。 check: 检测并恢复文件系统:对文件系统中的数据一致性进行检测,并自动根据文件系统的结构和信息进行数据再整理。 程序的总体流程为: 初始化文件目录; 输出提示符,等待接受命令,分析键入的命令; 对合法的命令,执行相应的处理程序,否则输出错误信息,继续等待新命令,直到键入EXIT退出为止。 设计二: 设计任务:模拟文件系统的前端操作shell 实现一个简单的shell命令行解释器)。 将设计一的管理程序simdisk作为后台进程运行,利用本设计任务的shell操作simdisk。 本设计任务在于学会如何实现在前端的shell进程和后端的simdisk进程之间利用共享内存进行进程间通信(IPC)。 设计三: 设计任务:模拟文件系统的操作管理 实现多个进程同时对模拟文件系统进行操作。设计管理程序simdisk的用户访问权限管理。访问模拟文件系统的每个进程都属于某个用户,管理程序simdisk根据其访问权限决定其对模拟文件系统的操作。 对模拟文件系统的操作要求做到:共享读,互斥写。 本设计任务在于学会如何实现信息的安全管理和进程同步。 注:要求从课程设计的整体来考虑设计任务一、二、三,并分阶段实现。

4,468

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧