Qt中的linux系统守护进程
Posted
技术标签:
【中文标题】Qt中的linux系统守护进程【英文标题】:linux system daemon in Qt 【发布时间】:2013-02-20 13:21:34 【问题描述】:我需要编写一些特定于 linux 的系统守护进程(它将以 root 权限运行)。
我有一种刻板印象,认为 Qt 是关于 GUI 应用程序的,所以依赖于 Qt 的守护程序对我来说看起来很奇怪。
另一方面,Qt 为 DBUS/threads/settings/... 提供了不错的 C++ 绑定——我的守护进程所需的一切。
现在我很感兴趣,用Qt写非GUI系统工具/守护进程可以吗?是否有此类工具的示例?
【问题讨论】:
【参考方案1】:可以用 Qt 编写非 GUI 系统工具/守护进程吗?
是的,这很好。
有用于非 UI 应用程序的 QCoreApplication 类。
特定于守护进程,您可能需要查看Daemonizing a Qt-application。
【讨论】:
此链接已损坏。目前有一些信息在这里forum.qt.io/topic/39150/…【参考方案2】:自 Qt4 以来,Qt 库已拆分为多个模块。
您甚至可以在没有安装 Qt Gui 或任何其他图形工具的情况下使用 Qt Core。
我能想到几个仅使用 Qt 的命令行示例(例如 qdbus
)
【讨论】:
【参考方案3】:首先,QT 不仅仅是关于 GUI。是一个完整的跨平台开发框架。
您肯定可以使用 QT 创建一个守护进程。但是,您想用它解决什么目的?您是否也想为 windows 平台提供类似的 windows 服务?
如果你真的不希望你的代码是跨平台的,你可以简单地使用 C++。如果您正在寻找易于编码的问题,那么 qt 也是一个不错的选择。
【讨论】:
以上是关于Qt中的linux系统守护进程的主要内容,如果未能解决你的问题,请参考以下文章