我需要编写一些特定于 linux 的系统守护进程(它将以 root 权限运行)。
我有一种刻板印象,认为 Qt 是关于 GUI 应用程序的,所以依赖于 Qt 的守护进程对我来说看起来很奇怪。
另一方面,Qt 为 DBUS/threads/settings/... 提供了不错的 C++ 绑定——我的守护进程所需的一切。
现在我很感兴趣,用Qt写非GUI系统工具/守护进程可以吗?是否有此类工具的示例?
可以用 Qt 编写非 GUI 系统工具/守护进程吗?
是的,这很好。
非 UI 应用程序有QCoreApplication类。
具体到守护进程,您可能需要查看Daemonizing a Qt-application。
自 Qt4 以来,Qt 库已拆分为多个模块。
你甚至可以在没有安装 Qt Gui 或任何其他图形的东西的情况下使用 Qt Core。
我可以想到一个仅使用 Qt 的命令行示例(例如qdbus
)
首先,QT 不仅仅与 GUI 有关。它是一个完整的跨平台开发框架。
您可以确保使用 QT 制作守护程序。但是,您想用它解决什么目的?您是否也想为 windows 平台提供类似的 windows 服务?
如果你真的不希望你的代码是跨平台的,你可以简单地使用 C++。如果您正在寻找易于编码的问题,那么 qt 也是一个不错的选择。