当前位置: 代码迷 >> QT开发 >> QProcess 子进程有关问题
  详细解决方案

QProcess 子进程有关问题

热度:312   发布时间:2016-04-25 04:52:54.0
QProcess 子进程问题
用QProcess 创进程后,发现主进程退出,,窗口也关闭了,,,但是子进程还是运行,,,

而且在退出主进程之前,也关闭了外部调用的进程,, 发现QProcess 又启动了外部程序,,

因为通过QProcess调用是在一个for 循环里,,

但是这个循环只循环了一次,,当关闭窗口时退出主进程 和外部程序,, 但过一下,外部程序又被启动了,,

------解决方案--------------------
说的挺多了,还是没弄明白,为什么要把QProcess放到for循环里?
------解决方案--------------------
楼主最好把代码贴出来让我们帮你分析一下
------解决方案--------------------
楼主使用的是startDetached方法吗?使用这个方法后,新的进程就和你的进程没关系了。你关了它还照样运行
------解决方案--------------------
void ringWindow::closeEvent ( QCloseEvent * e )
{
if(musicPid)
kill(musicPid,SIGKILL);//在窗口关闭时,关闭pid=musicPid的子进程
if(shakePid)
kill(shakePid,SIGKILL);
}
------解决方案--------------------
重写void closeEvent ( QCloseEvent * e )函数