1,举一个造成IPC资源未释放的例子:
eg:使用共享队列,在程序未主动释放共享队列资源的时候,ctrl+c;
导致申请的共享队列资源未被操作系统回收。
2,查看系统中没被释放的IPC资源
ipcs -a:这个查看所有的IPC资源,包括共享内存,共享队列什么的
3,释放IPC未释放的资源
ipcrm -q 资源代号:-q是针对共享队列的。其余的东西可以参考man
改进:
说明我们在用到IPC资源的时候,要么屏蔽SIGINT信号,要么增加对其的信号处理。防止这样的资源泄露。