Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了linux – qtcreator发送的“停止”信号大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我在 linux上工作,当我用Qt creator IDE上的“停止”按钮关闭它时,我意识到我的应用程序正在留下守护进程.我想处理这些情况,因此应用程序关闭的方式与关闭主窗口时的方式相同.要编写处理程序,我需要知道它对应的信号. 深入研究QtCreator的代码,我可以看到QtCreator在内部使用QProcess来启动你的应用程序.红色的“停止”按钮连接到ApplicationLauncher
我在 linux上工作,当我用Qt creator IDE上的“停止”按钮关闭它时,我意识到我的应用程序正在留下守护进程.我想处理这些情况,因此应用程序关闭的方式与关闭主窗口时的方式相同.要编写处理程序,我需要知道它对应的信号.

解决方法

深入研究QtCreator的代码,我可以看到QtCreator在内部使用QProcess来启动你的应用程序.红色的“停止”按钮连接到ApplicationLauncher :: stop(),它会以两种方式之一终止您的进程,具体取决于它是GUI应用程序还是控制台应用程序,但在这两种情况下,结果最终都是相同的 Linux操作系统.

对于GUI应用程序,ApplicationLauncher调用QProcess :: terminate(),后者又向您的守护程序发送SIGTERM(在Linux上)信号.然后等待(使用waitForFinished())1秒钟,如果守护进程尚未退出,则调用QProcess :: kill(),发送SIGKILl.

对于控制台应用程序,ApplicationLauncher将终止委托给ConsoleProcess实用程序类.在Linux上,ConsoleProcess :: stop()将类似于ApplicationLauncher用于GUI应用程序,它首先发送SIGTERM,然后等待1秒,如果尚未终止则发送SIGKILl.

您可以在此处找到QtCreator的相关代码

> GUI app termination
> Console app termination (on Linux)
> Console app termination (on Windows)

大佬总结

以上是大佬教程为你收集整理的linux – qtcreator发送的“停止”信号全部内容,希望文章能够帮你解决linux – qtcreator发送的“停止”信号所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。