3

我在 Ubuntu 上工作。当我大约在 1 小时后运行我的程序时,我收到了这个错误:

GLib-ERROR **:无法创建管道主循环唤醒:打开的文件太多程序已意外完成。

当我使用 gdb 运行时,它不会崩溃。

我不明白为什么?这个错误的原因是什么?

非常感谢..

4

1 回答 1

2

打开的文件太多

很明显。很可能你的文件描述符有泄漏,所以你应该检查你的代码是否打开了很多文件/文件描述符但没有正确关闭它们。如果你 fork 一个进程,你还应该考虑在开始实际进程之前关闭它们,因为这也可能是一个常见的错误。

操作系统有一个有限的表,它可以维护多少个文件描述符,显然你超过了这个限制。

于 2013-07-31T12:03:02.607 回答