Linux ipcs命令

来源:互联网 发布:怎样增加淘宝信用额度 编辑:程序博客网 时间:2024/05/18 00:47

        默认情况下,在Linux系统上运行的每个进行都有自己专用的内存分页,一个进程不能访问另一个进程正在使用的内存分页。内核也有自己的内存区域。出于安全性考虑,任何进程都是不得访问内核进程使用的内存。

       要促进行数据共享,可以创建共享内存分页。通用共享内存区域可以供多个进程读取和写入。内核维护和管理共享内存区域,并允许单个进程访问共享区域。

      使用特殊命令ipcs可以查看系统当前共享内存分页。在linux下,经常有因为共享内存、信号量,队列等共享信息没有干净地清楚而引起一些问题。
查看共享信息的内存的命令是ipcs [-m|-s|-q]。   默认会列出共享内存、信号量,队列信息,-m列出共享内存,-s列出共享信号量,-q列出共享队列
清除命令是ipcrm [-m|-s|-q] id。
       -m 删除共享内存,-s删除共享信号量,-q删除共享队列。

 
 
        共享内存段有时不能马上删除,需使用这个内存段的所有进程向OS发送detach命令时才有释放,此时可以考虑删除进程使用的信号量,帮助释放共享内存段
 

ipcs可用来显示当前Linux系统中的共享内存段、信号量集、消息队列等的使用情况。
命令示例:
     ipcs -aipc显示当前系统中共享内存段、信号量集、消息队列的使用情况;
     ipcs -m 显示共享内存段的使用情况;
     ipcs -s 显示信号量集的使用情况;
     ipcs -q 显示消息队列的使用情况;

ipcrm可用来删除对应的共享内存段、信号量、消息队列;
命令示例:
     ipcrm -s semid 删除对应的信号量集
     ipcrm -m shmid 删除对应的共享内存段
     ipcrm -q msqid 删除对应的消息队列

 

       每个共享内存段都是对应有一个创建该内存的所有者,每个内存段还对应一个标准的Linux权限设置,可

以设置该内存段对于其他用户的可用性。使用健值允许其他用户获得访问共享内存段的权限。

原创粉丝点击