问题标签 [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.
c++ - QProcess 失效且无法重新启动
我正在使用 QProcess 对象列表来跟踪一些需要以用户定义的时间间隔启动/停止的进程。
我可以启动和停止进程。但是当我使用以下方法(伪代码)停止进程时,就会出现问题:
但是,如果我尝试在其他时间再次启动该过程,则会收到错误消息:
我可以执行 ps -ef|grep processName 并发现它确实已经死了,但它处于失效状态,我认为这会阻止我再次启动它。
我需要做些什么来防止这种失效状态,或者删除失效的方法,以便我可以在不重建的情况下再次启动我的过程?
qt - 子进程stdin没有得到数据,由父进程发送
父进程将字符串写入"Message\n"
子进程标准输入。但是子进程没有收到它。代码中的问题在哪里?
Qt 4.7.3
父进程代码:
子进程代码:
c++ - Qprocess 弄乱了我的 linux 命令(我认为)。怎么修?
我需要强制我的 c++ QT4 应用程序从 linux 命令读取结果。我正在尝试使用 Qprocess,但是一旦我的命令变得复杂,它就会以某种方式变得混乱(只是猜测)并且不起作用。
在这里,我尝试为 yu 做一个小例子:
这将打印:
如果从控制台运行,while 将正确打印文件名。
如果我用一些认为更简单的命令替换 命令,command = "ls -l";
那么它可以顺畅地工作 操作系统会在标准错误中返回错误。
因此,我猜想用于命令的 Qstring 会以某种方式被操纵。知道发生了什么吗?
mysql - 使用 QProcess 恢复 MySQL 数据库,不能真正使用像“<”这样的简单重定向
所以首先通过 QFileDialog 检索文件名,进入 fName ,然后:
但这不起作用,我总是看到“mysql --help”的输出,似乎提供了错误的参数。但是,手动执行这项工作。
qt - QT4:如何使用 QProcess 运行多个 shell 命令?
我刚开始玩 QT,想为我使用的一些 shell 脚本创建一个简单的 GUI。
我想做两个简单的动作:
- 使用 SSH 连接到服务器
- 连接到服务器后运行命令(例如 mysqldump。)
到目前为止,我设法像这样进行 SSH 连接:
这很好用,它会提示输入密码并连接。但是我怎样才能从那里执行进一步的命令呢?我试图在下面启动第二个 commandProcess,但这似乎不是这样。
qt - start() 上的 QProcess 分段错误
我正在编写程序生成器类。我有一个分段错误。
和.cpp:
我的代码必须编译提供 loadSource(QString) 的程序。
当我开始 start() 函数程序返回 SISSEGV 信号。我没有看到错误。
c++ - QProcess 如何在 Windows 上工作
我正在尝试了解 QProcess 的工作原理并拥有这种代码:
进程“程序”应该在文件夹“H:\sample”上运行,该文件夹有两个文件,main.cpp 和 Makefile。
我的期望是“make”将被“all”参数调用。检查进程的输出(在文件“H:\processOutput.txt”中)我只看到文本“main”并且没有任何编译输出。
在 cmd 上运行“make all”可以正常工作并产生通常的结果,main.exe。整个代码似乎运行到最后,因为我可以看到“完成...”这一行。我错过了什么?
qt - QProcess::startDetached() 会导致内存泄漏吗?
如果我用 QProcess::startDetached() 启动一个程序,它会在父进程退出后继续执行,那么这会导致内存泄漏吗?
谢谢 !
qt - 自动更新程序示例
好吧,我一直在寻找如何在谷歌上进行自动更新,但没有成功。
我打算创建一个更新程序(另一个由 QProcess 通过主要 exe 调用的 exe),但这里我有一些问题:
我如何使 QProcess 静音?如果有新版本,我如何在启动进程的窗口上显示通知(我的意思是我已经在 Game.exe 中创建了进程,我想从 Updater.exe 向 Game.exe 发送通知有一个新版本可用。)
感谢您的回答。
qt - 如何正确处理带有 \r 的文本流?我想要一些行缓冲的方式,使用 Qt
我正在使用 Qt 和 QProcess 从其他工具读取一些数据并将它们打印在我的应用程序上。例如,把它想象成一个“终端”。
我正在使用 QProcess::canReadLine() 和 QProcess:readLine() 处理数据,这很棒。但是有些工具使用 \r 在屏幕上打印进度条,这与我的解析器有关。由于从来没有要读取的行,我的应用程序只是等到进程完成打印最后一行:许多行用 \r 而不是 \n 粘合在一起。
无论如何,有没有办法告诉 QProcess 也使用 \r 作为换行符?我想实现我的 QIODevice 子类,但我也需要重新实现 QProcess,所以这似乎不是最佳方法。
我想使用一个中间缓冲区,并使用这个缓冲区向我的主程序发送“hasLine”信号。我会使用 QProcess::readyRead 来填充缓冲区,然后使用缓冲区来填充我的主应用程序,但我只想告诉 Qt \r 作为换行符也可以。那可能吗?