从QT C 控制Ubuntu终端
Control ubuntu terminal from Qt C++
我想编写一个例程,该例程会自动更改我的机器学习参数并多次执行(机器学习(代码并将其结果保存到文本文件中。
机器学习代码是从Ubuntu终端运行的,其结果也写入Ubuntu终端。
我需要一种从C 代码中读取数据并将数据写入Ubuntu终端的方法。
我到目前为止发现的是QPROCESS:
QProcess process;
process.start("gnome-terminal"); //THE TERMINAL IS OPENED INDEED
char w[] = "write";
process.write(w,sizeof(w));
process.waitForFinished();
,但没有写任何东西或从中读取
工作的是:
QProcess process1;
QProcess process2;
process1.setStandardOutputProcess(&process2);
process1.start("echo 0534230313");
process2.start("sudo -S poweroff");
process2.setProcessChannelMode(QProcess::ForwardedChannels);
也有效:
int result = system("echo 0534230313 | sudo -S poweroff"); ///COMMANDS TO TERMINAL
int result2 = system("gnome-terminal"); ///OPEN TERMINAL
但是问题是我无法读取输出结果(我的机器学习程序可以打开并单独写入终端(
使用完成的信号读取过程输出结果
connect( poProcess, static_cast<void (QProcess::*)(int,QProcess::ExitStatus)>(&QProcess::finished),
[=](int,QProcess::ExitStatus)
{
QByteArray oProcessOutput=
poProcess->readAllStandardOutput();
// Parse the process output.
//
// Mark process for deletion.
emit poProcess->deleteLater();
});
相关文章:
- 在Ubuntu 16.04上安装Cilk时出现问题
- 如何在linux终端中同时编译和运行c++代码
- 终端不会为C++文件创建.exe文件吗
- 如何在Ubuntu中使用cmake设置qt4
- 链接阶段在Ubuntu上失败,但在MacOS上失败
- 如何处理linux终端中带有负号(-)的C++中的命令行参数
- VS Code "command":"make"与终端窗口中的命令行"make"不同
- 无法将 GLFW 库与 Ubuntu 18.04 上的头文件链接
- 无法在Ubuntu上将共享库与Eclipse链接
- 使用 cmake 的 Linux 终端上的"Conversion to non-scalar type is requested"错误
- 使用 ubuntu 终端在 c++ 上运行线程类的问题
- 从QT C 控制Ubuntu终端
- 如何在 ubuntu 终端中编译 CGAL 程序
- 我是一个菜鸟,但是我可以编写一个带有gui的c ++程序,并让它在Visual Studio 2010 express和ubuntu中的终端上运行吗?
- OpenCV C++代码在终端中运行良好,但在从Ubuntu 12.04运行时出错
- Ubuntu 终端中字符串末尾的奇怪输出
- 在Ubuntu终端中编译时OpenGL引用的问题
- ubuntu终端中的c++命令行参数
- Ubuntu -从终端打开.txt文件的问题
- 如何在Ubuntu中使用C语言的命令终端