首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调试器自杀释放僵尸

调试器自杀释放僵尸
EN

Stack Overflow用户
提问于 2010-05-11 11:09:51
回答 1查看 5.1K关注 0票数 6

我正在从我的引擎得到解码帧,并在安卓系统中使用SurfaceView播放它。但是它会播放2-3秒,然后我的应用程序就会崩溃,错误是“调试器自杀来释放僵尸”。

请帮帮我。

我正在使用AndroidSDK2.1。

EN

回答 1

Stack Overflow用户

发布于 2010-06-17 22:20:22

*我以为这是游戏警报,而不是Android调试日志消息=\x*

僵尸过程

在Unix和类Unix的计算机操作系统上,僵尸进程或已停止的进程是一个已完成执行但仍在处理表中有条目的进程。仍然需要这个条目来允许启动进程(现在是僵尸进程)读取其退出状态。僵尸过程这个术语源于僵尸的共同定义--一个不死的人。在这个词的丰富多彩的比喻中,孩子的过程已经死亡,但还没有收获。另外,与普通进程不同,杀死命令对僵尸进程没有任何影响。

当进程结束时,与它相关的所有内存和资源都会被解除分配,以便其他进程可以使用它们。但是,流程在处理表中的条目仍然存在。父程序可以通过执行等待系统调用来读取子节点的退出状态,此时僵尸将被移除。等待调用可以在顺序代码中执行,但它通常在SIGCHLD信号的处理程序中执行,每当其子节点死亡时,父信号就会接收该信号。

在删除僵尸之后,它的进程ID和处理表中的条目就可以被重用了。但是,如果父进程未能调用等待,则僵尸将留在处理表中。在某些情况下,这可能是可取的,例如,如果父进程创建了另一个子进程,它将确保不会分配相同的进程ID。在现代类似UNIX的系统(在这方面符合SUSv3规范)上,适用以下特殊情况:如果父进程显式忽略SIGCHLD,将其处理程序设置为SIG_IGN (而不是默认忽略信号)或设置了SA_NOCLDWAIT标志,那么所有子级退出状态信息都将被丢弃,不会留下僵尸进程。

僵尸进程与孤立进程不一样。孤立进程是一个仍在执行的进程,但其父进程已死亡。它们不会变成僵尸进程;相反,它们被init (进程ID 1)所采用,它等待它的子进程。

来自维基!=)

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2810107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档