我有一个主要适用的应用程序,但我有一个条件,其中对:: popen()的调用获取错误,并将errno设置为ENOMEM。 :: popen()的手册页引用了你的页面:: fork(),它本身列出了ENOMEM以及关于Linux的简短评论:
The fork() function may fail if:
ENOMEM Insufficient storage space is available.
我想知道我是否真的耗尽了内存,或者其他资源如文件描述符? fork()能否为ENOMEM提供除系统上实际内存耗尽之外的其他内容?这是Centos4。
答案 0 :(得分:1)
我已经确认ENOMEM是在重复:: popen()之后没有调用:: pclose()并最终耗尽文件描述符的结果。