Такое может случиться если из скрипта вы запустили процесс, который настроен на работу в режиме демона - делает fork и уходит в свой mail loop. Убивая скрипт вы просто завершаете оболочку которая его запустила, но оболочка не посылает запущенному процессу команду на завершение. В итоге имеем завершившийся скрипт и работающий процесс.
Такое еще может случиться, если программа форкнула потомка, который сам форкнул потомка, потом программа прибила первого потомка, а второй должен отдать код возврата - и обана, зомби.