Во время работы программы создаются процессы 
QProcess. Для освобождения ресурсов создаю вспомогательный класс 
ProcessHelper.class ProcessHelper:public QObject {
public:
   ProcessHelper() {}
   ProcessHelper(QWidget* o, const QString& exec, const QStringList& args):QObject(o) {
      process = new QProcess(this);
      connect(process, SIGNAL(finished(int,QProcess::ExitStatus)), this, SLOT(on_finished()));
      process->start(exec, args);
   }
public slots:
   void on_finished() {
      process->terminate();
      delete process;
   }
private:
   QProcess* process;
};
Суть этого объекта в том, чтоб по завершению процесса, он удалялся.
Далее...
Создал объект, который хранит указатели на 
ProcessHelper для последующего их удаления принудительно.
Гм... Щас дооформлю... Сорри... 