ruby - 当我生成进程时出现僵尸进程

标签 ruby linux process zombie-process

我有一段代码,我在其中生成子进程以提高效率。然而,它们似乎会创建各种僵尸进程,这些进程会阻塞套接字并导致站点瘫痪。

spawn(:method => :thread) do
   if @login_user.suggested_group_info.new_record?
       xxx
   end
end

1) 为什么会产生僵尸进程? 2) 我如何编写代码以确保在它变成僵尸之前杀死进程?

最佳答案

您必须保存衍生进程的 PID,并在它死后对其执行 waitpid(2) 系统调用。 (我不知道 Ruby 是怎么做到的。)

关于ruby - 当我生成进程时出现僵尸进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2421467/

相关文章:

Ruby 在后台运行时无法读取 TCP 套接字

linux - 无法在@INC 中找到 Spreadsheet/ParseExcel.pm,尽管它似乎已安装

java - ZK 进度计无法在没有事件的情况下使用 for 循环

linux - Linux 中应用程序可用的内存总量

linux - 在linux系统的对话框中使用什么命令来显示日期/时间和日历?

objective-c - 以编程方式获取 Mac 上所有正在运行的进程的列表

C语言: How to share a struct (or,如果不可能,一个数组)通过IPC在父子( fork )进程之间?

ruby - 使用 Capybara 模拟输入文本框

ruby - 使用 Ruby 从 CDIP 数据创建光谱热图或强度图

ruby - 我可以在 RSpec 中 stub STDERR 吗?