Linux msgget返回no space left

linux msgget返回no space left

首先要说的是此类标准函数应该养成查看man手册了解其用法及返回值的习惯。

返回no space left 分为两种情况:

1,创建的msg queue个数超过整个系统限制,通过ipcs -l查看系统对msg queue限制的具体个数,通过ipcs -q查看当前已经创建的所有消息队列。我自己遇到的就是这种情况,是因为在可执行程序退出时没有销毁已经创建的msg queue,在反复多次运行后导致达到上限无法再创建成功。

说明需要注意一点,对于可用于进程通信的对象,属于系统资源在进程退出时不会自动销毁,一定要记得手动销毁,ctrl+c也会导致此种资源不能正常被释放。

2,系统inode个数用尽,可通过df -i查看当前的inode使用情况。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。