请问怎么捕捉父进程的退出事件(关闭主界面),来关闭子进程?
8 个解决方案
#1
解决了。在MainWindow中继承并实现了closeEvent()的事件方法,在该函数中向进程本身发送一个SIGINT的信号,同时在main中捕捉SIGINT信号,然后kill子进程便可以了。
#2
是不是意味要结贴了。。直接closeEvent里面kill不可以吗。
#3
创建子线程,保存其ID
直接closeEvent里面kill
直接closeEvent里面kill
#4
用信号不是更好吗,可以通知子线程该结束了,释放资源。
直接kill不是很好吧。
直接kill不是很好吧。
#5
是可以的,但要把pid给传过来,然后再kill
#6
那就在捕捉到信号后,把资源给释放掉了,然后再对这个信号accept就可以了吧
#7
还要创建多一个线程啊?
#8
void MainWindow::closeEvent(QCloseEvent *e)
{
QApplication::exit(0);
}
{
QApplication::exit(0);
}
#1
解决了。在MainWindow中继承并实现了closeEvent()的事件方法,在该函数中向进程本身发送一个SIGINT的信号,同时在main中捕捉SIGINT信号,然后kill子进程便可以了。
#2
是不是意味要结贴了。。直接closeEvent里面kill不可以吗。
#3
创建子线程,保存其ID
直接closeEvent里面kill
直接closeEvent里面kill
#4
用信号不是更好吗,可以通知子线程该结束了,释放资源。
直接kill不是很好吧。
直接kill不是很好吧。
#5
是可以的,但要把pid给传过来,然后再kill
#6
那就在捕捉到信号后,把资源给释放掉了,然后再对这个信号accept就可以了吧
#7
还要创建多一个线程啊?
#8
void MainWindow::closeEvent(QCloseEvent *e)
{
QApplication::exit(0);
}
{
QApplication::exit(0);
}