Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我的 qt/kdelib 应用程序中有一个 KTerminalInterface(来自 kparts),我在其中运行一个命令。
问题是:我怎么知道程序是否被终止?我需要知道它,因为最后我必须重置一些变量。
有没有人有类似的问题?!?
一旦通过 KDE 4 中的 TerminalInterface 启动,就不可能与进程通信,因为 KonsolePart(它实现了 TerminalInterface)不再具有 processExited() 或 receivedData() 信号。在 KDE 4 中,KonsolePart 用于交互式终端会话,而不是供您的应用程序使用。
在 KDE 4 中,使用KProcess从您的应用程序中生成一个外部命令,与它通信,并检测它何时终止。请参阅其 API 的QProcess部分。
您也许可以使用os.waitpid (-1) 等待子进程(如果您不能拥有主要的一个块,则使用另一个线程)。