软总线系统采用守护进程 + GUI 客户端的架构,核心服务完全独立于 Qt GUI 运行。
src/daemon/daemon_main.cppQCoreApplication(不依赖 Qt GUI)main.cpp, mainwindow.cppQApplication(Qt GUI)com.softbus.Daemon/com/softbus/DaemonisRunning() -> bool检查核心服务是否运行
getStatus() -> QString获取核心服务状态信息(JSON 格式)
{
"running": true,
"status": "running",
"initialized": true,
"deviceCount": 5,
"onlineDeviceCount": 3
}
getLoadInfo() -> QString获取核心服务负载情况(JSON 格式)
{
"messageRate": 10.5,
"totalMessagesProcessed": 12345,
"cpuUsage": 0.0,
"memoryUsage": 0.0,
"timestamp": "2024-01-01T12:00:00"
}
getDeviceCount() -> int获取已注册的设备数量
getMessageStats() -> QString获取消息处理统计(JSON 格式)
statusChanged(QString status)核心服务状态变化时发出
loadInfoUpdated(QString loadInfo)负载信息更新时发出(每5秒)
mkdir build
cd build
cmake ..
make
会生成两个可执行文件:
soft_bus - GUI 客户端soft_bus_daemon - 守护进程# 方式1: 前台运行(用于调试)
./soft_bus_daemon
# 方式2: 后台运行
./soft_bus_daemon &
# 方式3: 使用 systemd(推荐生产环境)
sudo systemctl start soft_bus_daemon
./soft_bus
GUI 会自动连接到守护进程并显示状态。
在 GUI 的状态栏右侧会显示:
/proc/self/stat)