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