在Unix或Linux下,由于进程异常中断,导致共享内存、信号量,队列等共享信息没有干净地清除或释放而引起一些问题,例如数据库不能重新启动或不能登录数据库。此时,就要用到ipcs和ipcrm命令了。
查看共享内存的命令是:ipcs [-m|-s|-q]。若ipcs命令不带参数,则默认会列出共享内存、信号量,队列信息,而-m列出共享内存,-s列出共享信号量,-q列出共享队列。其中,ipcs -m命令中的status若为dest,则表示共享内存段已经被删除,但是,仍然有程序在连接着它。
清除共享内存的命令是:ipcrm [-m|-s|-q] id,其中,-m删除共享内存,-s删除共享信号量,-q删除共享队列。