我有一个基本上可以工作的应用程序,但有一个条件,调用::popen()会得到一个错误,并将errno设置为ENOMEM。popen()的手册页向您推荐了::fork()的页面,其中列出了ENOMEM,并提供了关于Linux的简短注释:
The fork() function may fail if:
ENOMEM Insufficient storage space is available.我想知道我是否真的耗尽了内存,或者可能是其他一些资源,如文件描述符?fork()可以给ENOMEM一些东西,而不是耗尽系统上的实际内存吗?这是Centos4。
发布于 2011-06-22 00:17:08
我已经确认,ENOMEM是由于在重复使用::popen()之后没有调用::pclose()并最终用完文件描述符造成的。
https://stackoverflow.com/questions/6419740
复制相似问题