gpt4 book ai didi

linux - 为什么 QProcess 不 kill,close,terminate 调用进程的析构函数?

转载 作者:太空宇宙 更新时间:2023-11-04 11:27:35 25 4
gpt4 key购买 nike

我在从我的 C++ 程序执行的进程的解构函数中放置了一个看门狗停止函数。每次我使用该进程 QT GUI 上的“X”按钮关闭时,它将通过我放置在解构器中的代码运行。但是当我尝试执行 Qprocesskill/close/terminate 来终止我的 C++ 程序中的进程时,(进程的)解构器中的代码没有被执行。任何人都知道出了什么问题或有其他方法来关闭该过程?谢谢!!!

顺便说一句,我在 linux 上。

最佳答案

当带有这些函数的进程突然退出时,没有对象被拆除。它们等同于 C 函数 exit(1)。尝试通过调用 QApplication::quit () 优雅地退出 QApplication::exec 的事件循环,这将退出 exec 内的主事件循环并允许 main 正常退出并允许所有通常会在此时自行销毁的对象执行所以。

关于linux - 为什么 QProcess 不 kill,close,terminate 调用进程的析构函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13640239/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com