At he risk of being repetative
"You have to reboot to remove defunct processes"
You cannot remove them by 'kill'
If you're really concerned about them (if they are using CPU - yours appear not to be) you need to find out what is causing them in the first place. This explanation from Robert Wilson on comp.unix.aix
A <defunct> process is IBM's term for what has been traditionally known as
"zombie" processes (in UNIX anyway). A "zombie" makes more sense, since it
is literally an "undead" process. Specifically, a process forks a child, and
the child process completes execution before the parent. If the parent
doesn't perform a "wait()" on the child, the dead process will sit around in
the process table until the wait() is performed. As soon as the parent
either performs a wait(), or exits the <defunct>/zombie will go away (the
"init" process automatically performs a wait() on all children when the
parent dies).
<defunct> processes take up 0 (zero) system resources outside of a slot in
the process table (i.e., they do not use memory or CPU cycles). If you see
CPU cycles associated with a <defunct> process, they are probably the cycles
accumulated by the process prior to its death. If you see a <defunct>
process _still_accumulating_ CPU cycles, GET OUT OF THERE! They've come back
to life! ;-)
Alex