PDA

View Full Version : QProcess plink.exe - how to process->write



Phalanx
18th February 2011, 21:01
Hello, I need a little push up. I need to use plink.exe(putty) to quickly implement ssh connection, but I do not know how can I write data right to process.
Before writing is everything OK - I logged in succesfully. Thank you for any help



QProcess *process;
process = new QProcess ( this );
process->setProcessChannelMode(QProcess::SeparateChannels);
process->setReadChannel(QProcess::StandardOutput);

process->start("plink.exe -ssh -pw test test@192.168.1.187", QIODevice::ReadWrite);

if (!process->waitForStarted(20000)) {
process->close();
return;
}


//hold until process has responded
if (!process->waitForReadyRead(20000)) {
process->close();
return;
}

// user logged, send command

process->write("quit\n");
process->closeWriteChannel();

if (!process->waitForFinished()) {
qDebug() << "err";
process->close();
return;
}

qDebug() << process->readAll().data();
process->close();

Phalanx
25th February 2011, 10:40
Solved by added file in calling process with plink