问题标签 [qprocess]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3801 浏览

c++ - QProcess 失效且无法重新启动

我正在使用 QProcess 对象列表来跟踪一些需要以用户定义的时间间隔启动/停止的进程。

我可以启动和停止进程。但是当我使用以下方法(伪代码)停止进程时,就会出现问题:

但是,如果我尝试在其他时间再次启动该过程,则会收到错误消息:

我可以执行 ps -ef|grep processName 并发现它确实已经死了,但它处于失效状态,我认为这会阻止我再次启动它。

我需要做些什么来防止这种失效状态,或者删除失效的方法,以便我可以在不重建的情况下再次启动我的过程?

0 投票
3 回答
4459 浏览

qt - 子进程stdin没有得到数据,由父进程发送

父进程将字符串写入"Message\n"子进程标准输入。但是子进程没有收到它。代码中的问题在哪里?

Qt 4.7.3

父进程代码:

子进程代码:

0 投票
4 回答
2837 浏览

c++ - Qprocess 弄乱了我的 linux 命令(我认为)。怎么修?

我需要强制我的 c++ QT4 应用程序从 linux 命令读取结果。我正在尝试使用 Qpr​​ocess,但是一旦我的命令变得复杂,它就会以某种方式变得混乱(只是猜测)并且不起作用。

在这里,我尝试为 yu 做一个小例子:

这将打印:

如果从控制台运行,while 将正确打印文件名。

如果我用一些认为更简单的命令替换 命令,command = "ls -l";那么它可以顺畅地工作 操作系统会在标准错误中返回错误。

因此,我猜想用于命令的 Qstring 会以某种方式被操纵。知道发生了什么吗?

0 投票
1 回答
285 浏览

mysql - 使用 QProcess 恢复 MySQL 数据库,不能真正使用像“<”这样的简单重定向

所以首先通过 QFileDialog 检索文件名,进入 fName ,然后:

但这不起作用,我总是看到“mysql --help”的输出,似乎提供了错误的参数。但是,手动执行这项工作。

0 投票
1 回答
2237 浏览

qt - QT4:如何使用 QProcess 运行多个 shell 命令?

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

我想做两个简单的动作:

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

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

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

0 投票
0 回答
556 浏览

qt - start() 上的 QProcess 分段错误

我正在编写程序生成器类。我有一个分段错误。

和.cpp:

我的代码必须编译提供 loadSource(QString) 的程序。

当我开始 start() 函数程序返回 SISSEGV 信号。我没有看到错误。

0 投票
1 回答
3036 浏览

c++ - QProcess 如何在 Windows 上工作

我正在尝试了解 QProcess 的工作原理并拥有这种代码:

进程“程序”应该在文件夹“H:\sample”上运行,该文件夹有两个文件,main.cpp 和 Makefile。

我的期望是“make”将被“all”参数调用。检查进程的输出(在文件“H:\processOutput.txt”中)我只看到文本“main”并且没有任何编译输出。

在 cmd 上运行“make all”可以正常工作并产生通常的结果,main.exe。整个代码似乎运行到最后,因为我可以看到“完成...”这一行。我错过了什么?

0 投票
1 回答
436 浏览

qt - QProcess::startDetached() 会导致内存泄漏吗?

如果我用 QProcess::startDetached() 启动一个程序,它会在父进程退出后继续执行,那么这会导致内存泄漏吗?

谢谢 !

0 投票
1 回答
802 浏览

qt - 自动更新程序示例

好吧,我一直在寻找如何在谷歌上进行自动更新,但没有成功。

我打算创建一个更新程序(另一个由 QProcess 通过主要 exe 调用的 exe),但这里我有一些问题:

我如何使 QProcess 静音?如果有新版本,我如何在启动进程的窗口上显示通知(我的意思是我已经在 Game.exe 中创建了进程,我想从 Updater.exe 向 Game.exe 发送通知有一个新版本可用。)

感谢您的回答。

0 投票
2 回答
921 浏览

qt - 如何正确处理带有 \r 的文本流?我想要一些行缓冲的方式,使用 Qt

我正在使用 Qt 和 QProcess 从其他工具读取一些数据并将它们打印在我的应用程序上。例如,把它想象成一个“终端”。

我正在使用 QProcess::canReadLine() 和 QProcess:readLine() 处理数据,这很棒。但是有些工具使用 \r 在屏幕上打印进度条,这与我的解析器有关。由于从来没有要读取的行,我的应用程序只是等到进程完成打印最后一行:许多行用 \r 而不是 \n 粘合在一起。

无论如何,有没有办法告诉 QProcess 也使用 \r 作为换行符?我想实现我的 QIODevice 子类,但我也需要重新实现 QProcess,所以这似乎不是最佳方法。

我想使用一个中间缓冲区,并使用这个缓冲区向我的主程序发送“hasLine”信号。我会使用 QProcess::readyRead 来填充缓冲区,然后使用缓冲区来填充我的主应用程序,但我只想告诉 Qt \r 作为换行符也可以。那可能吗?