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();
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();