Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在 Ubuntu 上工作。当我大约在 1 小时后运行我的程序时,我收到了这个错误:
GLib-ERROR **:无法创建管道主循环唤醒:打开的文件太多程序已意外完成。
当我使用 gdb 运行时,它不会崩溃。
我不明白为什么?这个错误的原因是什么?
非常感谢..
打开的文件太多
很明显。很可能你的文件描述符有泄漏,所以你应该检查你的代码是否打开了很多文件/文件描述符但没有正确关闭它们。如果你 fork 一个进程,你还应该考虑在开始实际进程之前关闭它们,因为这也可能是一个常见的错误。
操作系统有一个有限的表,它可以维护多少个文件描述符,显然你超过了这个限制。