问题标签 [zombie-process]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
77 浏览

iphone - 在 Xcode 4 中检查僵尸的不同方法是否有区别

据我了解,有两种检查Zombiesin的方法,第一种是在 中设置的Xcode 4传统方式,并将其设置为“YES”,另一种方式是在a 方案的部分中。NSZombieEnabledEnvironment VariablesEnabling Zombie ObjectsDiagnostics

这两种方式有什么区别吗?

谢谢礼萨

0 投票
2 回答
1552 浏览

c - 僵尸,gdb 无法附加,如何检查最后一次调用或回溯

我的应用程序在 Linux 机器上进入僵尸状态,它无法被杀死,gdb 无法附加到它,我无法调试。现在我想知道最后调用的函数或回溯,无论如何我能得到这个吗?/proc/pid/stat 下是否有任何信息可以用于此目的?

0 投票
2 回答
288 浏览

php - 为什么没有僵尸进程

由于我在下面的代码中没有等待children进程,但是运行后没有僵尸进程,这是为什么呢?
在我的理解中,僵尸进程是在这种情况下产生的:父进程退出而没有为其子进程调用'wait'或'waitpid',所以系统进程init会拾取这些子进程,称为僵尸进程,不是吗?

0 投票
2 回答
584 浏览

linux - 读取已失效进程的退出值

我有一个死进程,现在处于失效状态,这意味着它的父进程还没有读取它的退出值。(它不会读它)

我知道退出值存储在内核中的某个位置供父进程读取,但是,如果我不是父进程,有没有办法读取该值?

理想情况下,我可以从 shell 或 abritrary C/python/your-favorite-language 程序执行此操作。

[编辑]:这不是关于如何收割或杀死孩子的问题。我不在乎它是否用完进程表中的一个槽。我只想知道它的退出值是多少。即,我想阅读内核中的task_struct->exit_code。

马修

0 投票
4 回答
1132 浏览

c - 为什么行打印两次?

我是 UNIX 编程的新手,我正在阅读僵尸进程以及如何使用 fork() 两次来避免它们。我从一本书中阅读了代码并尝试在我的系统上运行它。我使用的是 ubuntu 12.04。我运行了以下代码:

我得到的输出如下:

这本书说这应该只打印一次,当我看到代码中发生的事情时,这也是我觉得应该发生的事情。我不明白为什么它会被打印两次。我在网上的很多地方都找到了这段代码,但找不到能解释这一点的东西。欢迎任何帮助。谢谢。!!

0 投票
3 回答
7188 浏览

c - 在父进程退出时杀死子进程

我对 c 和编程非常陌生,需要一些帮助。在 linux(cygwin) 上的 c 中,我需要在退出时删除所有子进程。我已经查看了其他类似的问题,但无法使其正常工作。我试过了-

出于某种原因,“作品”甚至不会打印出来。我按 ctrl + c 退出。

我也试过-

但是因为我使用的是cygwin,当我使用cygwin时#include <sys/prctl.h>,cygwin说它找不到文件或目录,我不知道要为它安装什么包。另外,如果我的prctl()功能起作用,那会杀死所有的僵尸吗?

我的程序是一个客户端服务器,我的服务器 forks() 来处理每个客户端。我想当服务器关闭时不会留下任何剩余的僵尸。

0 投票
1 回答
16110 浏览

linux - 杀死一个java僵尸进程

我正在运行一个实验性的 java 应用程序,每次我终止或停止应用程序时,都会创建僵尸进程。我知道僵尸并不是真正的问题,因为它们(据说)不会消耗资源。但是,我的 RAM 可用空间明显少于应有的空间。这里是转储

以下都不起作用:(

我无法重启我的机器!所以我非常欢迎任何解决方案。

0 投票
2 回答
463 浏览

fork - 为什么要在父级中 fork() 然后 wait() ?

我知道 fork()、wait()、waitpid()、僵尸进程……我通过阅读 W. Richard Stevens 这本非常好的书来理解它们。

如果我们不在父母中调用 wait() ,孩子在终止后会变成僵尸......这很糟糕!

如果我们在 parent 中调用 wait(),则 parent 等待 child 终止,接收终止状态然后继续。写?

我已经经历了许多调用 fork() 一次然后在父级中调用 wait() 的示例。

但是,如果父母要等待孩子并在孩子终止后继续,那么就没有实际的多任务处理(技术上是的,有两个进程。但逻辑上没有用)那我们为什么在这里调用 fork() 呢?

我们可以先编写子代码,然后编写父代码,而不是 fork() 和 wait() 作为单个进程...不是更好吗?

谢谢!

0 投票
1 回答
2803 浏览

c++ - 避免在 C++ 中产生僵尸进程

非常奇怪的错误,也许有人会看到我缺少的东西。

我有一个 C++ 程序,它派生出一个 bash shell,然后将命令传递给它。

周期性地,命令将包含废话,并且 bash 进程将挂起。我使用 semtimedwait 检测到这一点,然后运行一个像这样的小函数:

假设我正确理解了 waitpid 的工作原理,这应该首先将 SIGKILL 发送到 shell,然后基本上坐在自旋锁中,试图获得结果过程。最终,它成功了,然后使用 init_bash() 启动了一个新的 bash 进程。

至少,这是应该发生的。相反,子进程的退出状态永远不会被收集,它继续作为僵尸进程存在。尽管如此,父级确实退出了循环并设法重新启动 bash 进程,并继续正常执行。最终生成了太多的僵尸,系统用完了 pid。

此外:

  • Fork 在程序中的一个地方被调用,在 init_bash 中。
  • 检查会阻止调用 init_bash,除非在程序启动时和调用上述函数之后调用。

想法?

0 投票
1 回答
66 浏览

iphone - [TFSTDERRLogOperation 类]:发送到已释放实例的消息

我刚刚在 Xcode 中收到这条消息:[TFSTDERRLogOperation class]: message sent to deallocated instance

我不知道在哪里搜索,因为搜索引擎对 TFSTDERRLogOperation 类没有太大帮助。