标题:怎么用QT/E实现一个进程管理的代码
作者:kummar
日期:2011-09-19 16:43
内容:
问题描述是这样的:
首先运行一个简单的程序(就称其为桌面程序吧),上面有几个BUTTON,每点击一个BUTTON就以QProcess *p; p->start("program");方式分别运行一个新进程,那么在桌面程序中怎样管理这些新进程呢?如果新进程出现界面无响应或假死,又怎样让其自动结束,而需重启机子来恢复?
请大牛帮忙回答一下,谢谢!
说明一下程序都是在MINI2440中运行的。
#1 [jay8830095 09-19 16:58]
QT支持进程间通信D-BUS,用这个试试。如果进程可以通信了,控制就不成问题。
#2 回 1楼(jay8830095) 的帖子 [kummar 09-19 21:49]
但一个程序怎么判断自己已经死掉,或界面冻结了呢
#3 回 1楼(jay8830095) 的帖子 [lmmir 09-20 08:31]
不知道有没有windows的进程间通信的开源代码。。。
#4 [jay8830095 09-20 11:36]
如果按“看门狗”的做法是长时间通信不上表示程序死掉,代码上应该可以实现,这个比较容易实现。搞个定时握手。
#5 回 5楼(jay8830095) 的帖子 [kummar 09-20 12:22]
恩,这是一个想法不错,但如果界面冻结了,程序后台的定时器会停止吗,仅是一个假死的话,后台的定时器还是保持工作与桌面程序进行通信的话就达不到所要的效果了