J'ai un morceau de code où je reproduis des processus enfants pour le rendre plus efficace. Cependant, ils semblent créer toutes sortes de processus zombies qui bloquent les sockets et font tomber le site.Processus de zombies apparaissant lorsque je reproduis des processus
spawn(:method => :thread) do
if @login_user.suggested_group_info.new_record?
xxx
end
end
1) Pourquoi créer des processus zombies? 2) Comment puis-je écrire le code de telle sorte que je m'assure que je tue le processus avant qu'il ne devienne un zombie?
Ruby fait cela à peu près comme on pouvait s'y attendre. spawn renvoie un pid; un appel à Process.waitpid (pid) attend le processus pour quitter, puis récupère le zombie. –