Russian Qt Forum
Ноябрь 01, 2024, 23:29 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QProcess, утечка памяти  (Прочитано 2905 раз)
santaclaus
Гость
« : Декабрь 08, 2009, 13:40 »

Всем привет!
Есть код

Код:
QProcess *pd = new QProcess(this); //новый процесс
QStringList arg; //аргументы
arg << timeMake;
QString num, pPidStr;
QMapIterator<QString, int> i(clList);
while (i.hasNext()){
    i.next();
    num.setNum(i.value());
    arg << i.key() << num;
}
qint64 pPid; //переменная под ПИД, запущенного процесса
pd->startDetached("./DataCreator", arg, "./", &pPid); //запуск процесса
pPidLastProcess.setNum(pPid);
std::cout << "Run process pid = " << pPid << std::endl;
pd->kill();
delete pd;
checkProcessFinish();//проверка когда процесс отработается.

Все работает хорошо.
Этот код запускается повторно как только процесс, который запущен отработается!
Только память потихоньку пожирает.
Подскажи где могут быть грабли?



Система CentOS 5. Qt 4.5.
« Последнее редактирование: Декабрь 08, 2009, 13:55 от santaclaus » Записан
Rcus
Гость
« Ответ #1 : Декабрь 08, 2009, 14:47 »

Когда это кончится...
Цитировать
bool QProcess::startDetached ( const QString & program, const QStringList & arguments, const QString & workingDirectory, qint64 * pid = 0 )   [static]

И чем измеряли?
Записан
santaclaus
Гость
« Ответ #2 : Декабрь 08, 2009, 14:52 »

top'ом смотрю....


причем программа работает и буквально через 3 минуты видно что память начинает ползти вверх...
пробовал делать через start(prog, arg) и deleteLater() привязывать, но результат тот же...
Записан
Rcus
Гость
« Ответ #3 : Декабрь 08, 2009, 17:40 »

valgrind ./prog чтобы узнать если утечки. valgrind --tool=massif ./prog чтобы узнать куда ушла память, ибо top не показатель.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.422 секунд. Запросов: 20.