Russian Qt Forum
Мая 09, 2025, 00:26 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QProcess, утечка памяти  (Прочитано 3021 раз)
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.043 секунд. Запросов: 21.