在Qt中启动的子进程如何进行暂停和恢复?

4

我在Qt中启动了一个子进程作为QProcess,如何暂停和恢复它呢?是否有Qt函数可以实现,如果没有,是否有适用于Linux的平台特定函数可以实现?


停止espeak进程可能会立即停止扬声器中的声音,也可能不会。 - n. m.
我在我的电脑上(Ubuntu Linux)进行了测试,声音立即停止。为什么它不会立即停止? - sashoalm
这取决于espeak的实现方式。如果它一次合成大块文本,并将其发送到底层硬件(或另一个进程,例如声音守护程序),那么停止该进程将不会对已发送的块产生影响,它将播放到结束。 - n. m.
你难道也没有找到Windows的解决方案吗? - HiFile.app - best file manager
1个回答

4

因为我在使用Linux系统,所以我使用了kill()函数。

#include <signal.h>
...
kill(process->pid(), SIGSTOP); // suspend
kill(process->pid(), SIGCONT); // resume

1
完美运行...我正在使用C++ Qt QProcess,在暂停和恢复进程方面运作得像魅力一样... - Maxx

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接