标题:这个例子中LogTail类析构函数中的terminate()函数调用有什么用?
作者:ustone
日期:2018-11-13 11:27
内容:
我的理解,main函数结束的时候,tail对象析构,如果不调用terminate()函数,主进程自己也就结束了,子进程也就随之终止。那terminate()函数有什么用,它终止的是主进程吧?
#1 [ustone 11-26 15:08]
顶一下
#2 [dbzhang800 11-26 20:02]
弱弱问一句,这是什么上面的例子?能给点上下文吗
这个terminate() 是Qt里面的函数,还是来自其他地方
#3 [ustone 11-27 12:04]
C++ Qt设计模式(第2版)中的例子,不好意思,缺了一张图(帖子只能插入5张图,我截了6张)
#4 回 dbzhang800 的帖子 [ustone 11-27 12:05]
dbzhang800:弱弱问一句,这是什么上面的例子?能给点上下文吗
这个terminate() 是Qt里面的函数,还是来自其他地方 (2018-11-26 20:02)
见3楼~
#5 回 ustone 的帖子 [dbzhang800 11-27 17:44]
ustone:C++ Qt设计模式(第2版)中的例子,不好意思,缺了一张图(帖子只能插入5张图,我截了6张)
(2018-11-27 12:04)
这是QProcess的派生类,所以问题就是下面两个函数的区别
QProcess::terminate()
QProcess::kill()
QProcess析构时会调用 kill()函数来强制终止进程,但是不少程序特别是GUI程序一般更希望接收到WM_CLOSE或SIGTERM后自愿结束进程,而不是被暴力杀死