CGI processes hanging around

One of my cgi programs does something strange : although the program itself has terminated, there are cgi sessions hanging around :

$ ps aux | grep mail USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND nobody 1054 0.0 0.0 34676 128 ? S Jun22 0:00 /usr/bin/perl -w /usr/local/lsws/DEFAULT/cgi-bin/m/mail.cgi nobody 19749 0.0 0.0 34676 140 ? S Jul23 0:00 /usr/bin/perl -w /usr/local/lsws/DEFAULT/cgi-bin/m/mail.cgi nobody 19815 0.0 0.0 34676 140 ? S Jul23 0:00 /usr/bin/perl -w /usr/local/lsws/DEFAULT/cgi-bin/m/mail.cgi nobody 47658 0.0 0.2 34676 4844 ? S Aug16 0:00 /usr/bin/perl -w /usr/local/lsws/DEFAULT/cgi-bin/m/mail.cgi nobody 56320 0.0 0.0 34676 140 ? S Jul28 0:00 /usr/bin/perl -w /usr/local/lsws/DEFAULT/cgi-bin/m/mail.cgi nobody 56356 0.0 0.0 34676 140 ? S Jul28 0:00 /usr/bin/perl -w /usr/local/lsws/DEFAULT/cgi-bin/m/mail.cgi nobody 57372 0.0 0.0 34676 128 ? S Jun21 0:00 /usr/bin/perl -w /usr/local/lsws/DEFAULT/cgi-bin/m/mail.cgi nobody 59213 0.0 0.0 34676 140 ? S Aug09 0:00 /usr/bin/perl -w /usr/local/lsws/DEFAULT/cgi-bin/m/mail.cgi

Some of them are over one month old.

What can do that ?

What can I do to prevent that ?