Como detectar quando a conexão ssh (em um QProcess) terminou?

Estou executando um túnel ssh de um aplicativo usando umQProcess:

QProcess* process = new QProcess();
process->start("ssh", QStringList()<<"-L"<<"27017:localhost:27017"<<"example.com");

Até agora, funciona muito bem, o único problema é que não há como ver quando a porta foi criada.

Quando executo o comando em um shell, leva cerca de 10 segundos para conectar-me ao host remoto, após o qual a porta encaminhada está pronta para uso. Como faço para detectá-lo no meu aplicativo?

EDITAR:

Conforme sugerido pelo vahancho, usei o fato de que após a conexão há alguma saída no terminal que pode ser usada para detectar que a conexão foi bem-sucedida. No entanto, existe uma linha que é executada instantaneamente após o lançamentoPseudo-terminal will not be allocated because stdin is not a terminal, o que provavelmente daria um alarme falso. A saída correta está disponível no segundo sinal, emitido um pouco mais tarde (que é um verdadeiro indicador da porta ter sido aberta). Para me livrar da primeira mensagem, agora estou executando o ssh usandossh -t -t para forçar uma alocação stdin.

Portanto, a única questão que resta é: alguém pode me ajudar sem preocupações com essa abordagem?

questionAnswers(2)

yourAnswerToTheQuestion