You can kill the process by issueing command “ps aux | grep -i “defunc” | awk {‘print “kill -9 “$2′} | sh”, however, this is not a permanent solution.
From what i've read is that the root cause of this process is due to one of the bugs from apache on suphp module, normally what you should do is compile the apache and change the php mode from suphp to dso, everything should be working fine again after disabled suphp from the server. All depend if you want to change from suPhp - suPHP is great because it not only makes it more secure, it also allows you to see what is going on more easily. If a user is abusing the server with too much CPU time, you can easily track it with suPHP/suEXEC, but without suPHP/suEXEC it makes it a lot hard to investigate abuse issues.
You can refer to /http://blog.emyhost.com/2010/09/php-defunct-processes-causing-high-cpu-load/ for more information regarding the bugs.