Пишу ПО под Linux которое подключается к аналогичным машинам и выполняет простенькие команды а-ля cat /proc/meminfo
и подобные выводящие инфу о состоянии ОС.
При длительной работе моего ПО на стороне подконтрольных машин возникает постепенное увеличение потребления ОЗУ. Методом включения и выключения моего ПО и замеров потребления ОЗУ средствами гипервизора выяснил, что виновником служит именно мое ПО.
Странно то, что утечка памяти происходит именно на других машинах. Поэтому киваю больше на участок кода, который отвечает за подключение по SSH. В связи с этим правильно ли написан код делающий запрос по SSH? Пример запроса ниже
qDebug() << "GetARMStatus " << ip;
m->lock();
int result = 0;
QString command = "ssh";
QStringList arguments;
arguments << "user@" + ip << " ps aux | grep openvpn; ";
QProcess *myProcess = new QProcess();
myProcess->start(command, arguments);
myProcess->waitForFinished();
myProcess->kill();
QString out = myProcess->readAllStandardOutput();
QString err = myProcess->readAllStandardError();
if((err.contains("No route to host")) || (out.contains("No route to host"))) {
result = 1;
}
if(out.contains("openvpn --daemon ovpn-client --status")) {
result = 0;
} else {
result = 1;
}
qDebug() << "GetARMStatus " << result << " " << ip;
delete myProcess;
m->unlock();
return result;
1) наследовать указатели от родителя
QProcess *myProcess = new QProcess(parent);
2) использовать умные указатели
QSharedPointer<QProcess> p = QSharedPointer<QProcess>(new QProcess);
3) не использовать указатели там где они не нужны
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Подскажите пожалуйста, как отключить оптимизацию компилятора в среде Code::Blocks?
Достаточно давно грезил подобными мыслями, и вот настала пора заняться этимИзложу вопрос как серию вопросов по совместной работе C++ при NodeJS