I have a pieces of code where i spawn off children processes to make it more efficient. However, they appear to create all sorts of zombie processes which block sockets and bring down the site. 

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

```

1) Why is this creating zombie processes?
2) How could i write the code such that i make sure i kill the process before it becomes a zombie?