news 2026/6/10 8:12:01

Qt快速检测Ubuntu进程状态

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Qt快速检测Ubuntu进程状态

在Ubuntu系统下使用Qt C++检测指定进程是否启动,可以通过以下步骤实现:

方案思路

  1. 使用ps -C命令:通过进程名直接查询,避免grep误匹配问题。
  2. QProcess执行系统命令:利用Qt的跨平台进程管理工具执行命令并捕获输出。
  3. 解析输出结果:检查命令输出是否包含目标进程信息。

代码实现

cpp

#include <QCoreApplication> #include <QProcess> #include <QDebug> bool isProcessRunning(const QString &processName) { QProcess process; // 执行ps -C命令查询进程 process.start("ps", QStringList() << "-C" << processName); process.waitForFinished(); if (process.exitStatus() == QProcess::NormalExit) { QByteArray output = process.readAllStandardOutput(); // 检查输出是否包含进程名(排除标题行) return !output.contains(processName.toUtf8(), Qt::CaseSensitive); } return false; } int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QString targetProcess = "SanliLisenter"; if (isProcessRunning(targetProcess)) { qDebug() << targetProcess << "is running"; } else { qDebug() << targetProcess << "is NOT running"; } return a.exec(); }

关键点说明

  1. ps -C参数
    • 直接通过进程名过滤,避免grep命令自身被匹配的问题。
    • 示例:ps -C SanliLisenter会列出所有名为SanliLisenter的进程。
  2. 输出解析逻辑
    • 命令成功执行后,检查输出是否包含目标进程名。
    • 输出示例(进程存在时):
      PID TTY TIME CMD 1234 ? 00:00:01 SanliLisenter
  3. 错误处理
    • 检查QProcess的退出状态,确保命令执行成功。
    • 失败时返回false,可扩展错误日志记录。

扩展建议

  • 多进程检测:修改函数参数为QStringList,支持批量检测。
  • PID获取:通过ps输出解析具体PID,用于后续操作(如发送信号)。
  • 权限管理:若检测系统级进程,需确保程序具有相应权限(如sudo)。

测试验证

  1. 编译运行程序:

    bash

    qmake -project qmake make ./your_executable
  2. 启动目标进程后再次运行,观察输出变化。

此方案直接利用系统命令,兼容性好且实现简洁,适合在Qt应用中集成进程监控功能。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 0:03:35

Java 集合操作完整清单(Java 8+ Stream API)

Java 集合操作完整清单&#xff08;Java 8 Stream API&#xff09;给你一个完整的Java集合操作清单&#xff0c;包含代码示例。现代Java推荐使用Stream API进行集合操作。1. 过滤操作// 过滤符合条件的元素List<Integer> numbers Arrays.asList(1, 2, 3, 4, 5, 6);List&…

作者头像 李华
网站建设 2026/6/6 15:09:18

文件加密软件哪个速度快?2025 年 6 款高效低延迟工具对比

数字化时代&#xff0c;核心文件泄露风险剧增&#xff0c;加密软件成为数据安全的关键屏障。而加密速度与延迟表现&#xff0c;直接影响办公效率与协作体验。2025 年&#xff0c;高效低延迟成为加密工具的核心竞争力。本文精选 6 款口碑工具&#xff0c;从速度、功能等维度对比…

作者头像 李华
网站建设 2026/6/10 2:53:35

亲测!这些口碑好的机油专业又好用

亲测&#xff01;这些口碑好的机油专业又好用引言机油对于汽车发动机的重要性不言而喻&#xff0c;它就像发动机的“血液”&#xff0c;起到润滑、冷却、清洁等关键作用。在市场上众多的机油品牌和型号中&#xff0c;如何选择一款适合自己车辆的优质机油呢&#xff1f;今天&…

作者头像 李华
网站建设 2026/6/3 20:45:32

上海婚介:钱多不等于脱单——我的自我觉醒之路

我出生在上海的一个中产家庭&#xff0c;父母在外企工作&#xff0c;家里有一套市中心的两居室。小时候&#xff0c;我常常幻想&#xff0c;等自己长大后&#xff0c;肯定能拥有更多财富&#xff0c;拥有更好的生活。于是&#xff0c;我一路努力读书&#xff0c;考上了上海交通…

作者头像 李华
网站建设 2026/6/8 21:11:28

HDF5完整文件结构与操作指南

HDF5完整文件结构与操作指南 目录 完整文件结构概览基础数据集类型组结构操作属性系统高级数据类型引用和链接压缩和分块可扩展数据集维度标签完整示例代码 1. 完整文件结构概览 1.1 理想的HDF5文件结构 comprehensive_example.h5 # 根文件 │ ├── &…

作者头像 李华