1

我的 qt/kdelib 应用程序中有一个 KTerminalInterface(来自 kparts),我在其中运行一个命令。

问题是:我怎么知道程序是否被终止?我需要知道它,因为最后我必须重置一些变量。

有没有人有类似的问题?!​​?

4

2 回答 2

2

一旦通过 KDE 4 中的 TerminalInterface 启动,就不可能与进程通信,因为 KonsolePart(它实现了 TerminalInterface)不再具有 processExited() 或 receivedData() 信号。在 KDE 4 中,KonsolePart 用于交互式终端会话,而不是供您的应用程序使用。

在 KDE 4 中,使用KProcess从您的应用程序中生成一个外部命令,与它通信,并检测它何时终止。请参阅其 API 的QProcess部分。

于 2008-12-18T11:31:43.673 回答
0

您也许可以使用os.waitpid (-1) 等待子进程(如果您不能拥有主要的一个块,则使用另一个线程)。

于 2009-03-29T01:57:40.120 回答