ENOMEM的原因来自::popen()



我有一个应用程序,它基本上可以工作,但有一个条件,即调用::popen()时出错,errno设置为ENOMEM。:popen()的手册页指向::fork()的页面,该页面本身列出了ENOMEM,并对Linux:进行了简短评论

   The fork() function may fail if:
   ENOMEM Insufficient storage space is available.

我想知道我是否真的用完了内存,或者可能是其他一些资源,比如文件描述符?fork()能为系统上实际内存不足以外的其他事情提供ENOMEM吗?这是Centos4。

我已经确认,ENOMEM是由于在重复::popen()之后没有调用::pclose(),最终耗尽了文件描述符。

最新更新