What needs to be done is the parent of that process needs to deal with it, the main way being paying attention to signals from that process to ensure that closure occurs.
I wrote a blog entry how to do exactly this, and for the same reason, I forked children and didn't wait for their termination signals, then found I grew zombies over time, How to kill those Zombies
. Read the section titled "More Complex Case" where it covers architectures that can't afford to wait and stop processing. You can periodically re-check for signals from your children.
Unfortunately even though they are your children, once they become zombies, you have to shoot them in the head.
I would add that providing you end up waiting for a signal from your child processes, what this now means is that you will no longer grow zombies. A child process may temporarily become a zombie, for instance say you only check once per second via a timer expiration, then up to that one second time span you could've had a child process which completed and is a zombie until you the parent processes the exit signal.