来自:: popen()的ENOMEM的原因

时间:2011-06-21 02:31:58

标签: c++ fork popen out-of-memory enomem

我有一个主要适用的应用程序,但我有一个条件,其中对:: popen()的调用获取错误,并将errno设置为ENOMEM。 :: popen()的手册页引用了你的页面:: fork(),它本身列出了ENOMEM以及关于Linux的简短评论:

   The fork() function may fail if:

   ENOMEM Insufficient storage space is available.

我想知道我是否真的耗尽了内存,或者其他资源如文件描述符? fork()能否为ENOMEM提供除系统上实际内存耗尽之外的其他内容?这是Centos4。

1 个答案:

答案 0 :(得分:1)

我已经确认ENOMEM是在重复:: popen()之后没有调用:: pclose()并最终耗尽文件描述符的结果。