【问题标题】:QT4 : How to run multiple shell commands with QProcess?QT4:如何使用 QProcess 运行多个 shell 命令?
【发布时间】:2011-10-20 02:21:36
【问题描述】:

我刚开始玩 QT,想为我使用的一些 shell 脚本创建一个简单的 GUI。

我想做两个简单的动作:

  1. 使用 SSH 连接到服务器
  2. 连接到服务器后运行命令(例如 mysqldump)

到目前为止,我设法像这样进行 SSH 连接:

QStringList args_ssh;
args_ssh << ui->lineEdit_sshUser->text() + "@" + ui->lineEdit_sshHost->text();
commandProcess.start("ssh", args_ssh);

效果很好,它会提示输入密码并连接。但是我怎样才能从那里执行进一步的命令呢?我试图在下面启动第二个 commandProcess,但似乎不是这样。

【问题讨论】:

    标签: qt shell ssh qprocess


    【解决方案1】:

    QProcess 是从 QIODevice 派生的,这意味着您可以像文件一样 read from/write to 它。进程启动后,通过标准 QIODevice 调用发送后续命令。

    【讨论】:

    • 不确定如何添加后续命令。例如第一个命令 cd 比 /dir