Вопрос по QProcess

161
26 мая 2021, 07:30

Мне нужно реализовать работу с терминалом из приложения.Задача состоит в том что бы через ssh на сервер кидать проект,компилить его там,и возвращать обратно. У меня не получается общаться из приложения с терминалом cmd.exe. Вот мой пример кода:

 QProcess *gzip = new QProcess();
gzip->start("cmd");
gzip->waitForStarted();
gzip->write("cd C:\Intel\Logs \r\n");
gzip->write("dir \r\n");
gzip->closeWriteChannel();
gzip->waitForFinished();
ui->textEdit->setText(gzip->readAllStandardOutput());

Т.е в идеале мне нужно подключится к серверу,и дальше уже выполнять команды по типу pscp,chmod,qmake.. и все это в одной сессии . Как реализовать это?

@UPDATE Команды через QProcess получилось выполнять,но ssh не хочет конектится

QProcess* gzip = new QProcess(this); // local variable works
gzip->start("powershell");
gzip->write("ssh usir@192.168.1.242\n");//коннект
gzip->write("1\n");//пароль
gzip->write("ls\n");
gzip->closeWriteChannel();
gzip->waitForFinished();
ui->textEditNormal->setText(gzip->readAllStandardOutput());
ui->textEditError->setText(gzip->readAllStandardError());

Код перестает выполняться после gzip->write("ssh usir@192.168.1.242\n"),до ввода пароля не доходит. Если в ручную то пишу ssh usir@192.168.1.242,дальше пароль и все готово.Как исправить мою проблему?

READ ALSO
Защитить svg картинки

Защитить svg картинки

На сайте есть множество svg картинок,подскажите как лучше их защитить от копирования и есть ли смысл это делать?Сейчас можно просто посмотреть...

127