QProcess无法读取到进程名无法判断进程是否存在总是返回false

news2024/12/26 12:15:34

问题

今天在项目进行的过程中,发现无法Qprocess无法读取到进程名,判断进程是否在任务管理器中,总是返回空。

 
#include <QProcess>
#include <QProcessEnvironment>
#include <QStringList>

bool isProcessRunning(const QString &processName) {
    QProcess process;
    QStringList arguments;
    bool processRunning = false;

    // 根据操作系统选择不同的命令来获取运行中的进程列表
    #if defined(Q_OS_WIN)
        process.start("tasklist", arguments);
    #elif defined(Q_OS_LINUX)
        process.start("ps", arguments);
    #elif defined(Q_OS_MAC)
        process.start("ps", arguments);
    #endif

    if (process.waitForStarted()) {
        while (process.waitForReadyRead()) {
            QByteArray output = process.readAllStandardOutput();
            // 根据操作系统解析输出内容
            #if defined(Q_OS_WIN)
                if (output.contains(processName.toLocal8Bit())) {
                    processRunning = true;
                    break;
                }
            #elif defined(Q_OS_LINUX) || defined(Q_OS_MAC)
                if (output.contains(processName.toLocal8Bit() + " ")) {
                    processRunning = true;
                    break;
                }
            #endif
        }
        process.waitForFinished();
    }

    return processRunning;
}

// 使用示例
int main() {
    if (isProcessRunning("notepad.exe")) {
        // 进程正在运行
    } else {
        // 进程没有运行
    }
    return 0;
}

这样写,本身没有问题
可,用命令行去执行时就会发现,因为exe的名称太长,输出时的信息是不完整的。
也就是进程名称可能不完整。

解决方案

解决方案也很简单

加/FO csv参数即可

完整的命令行参数是这样的

tasklist /FO csv /FI “imagename
eq test.exe”

/FO显示完整信息
/FI过滤显示

编辑:myhappyandy

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2265834.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

探索Flink动态CEP:杭州银行的实战案例

摘要&#xff1a;本文撰写自杭州银行大数据工程师唐占峰、欧阳武林老师。将介绍 Flink 动态 CEP的定义与核心概念、应用场景、并深入探讨其技术实现并介绍使用方式。主要分为以下几个内容&#xff1a; Flink动态CEP简介 Flink动态CEP的应用场景 Flink动态CEP的技术实现 Flin…

Git多人协作流程与git命令

目录 一、拉取&#xff1a;从仓库到本地1、第一次拉取2、后续的拉取 二、上传&#xff1a;从本地到仓库三、git commit版本信息标注 一、拉取&#xff1a;从仓库到本地 1、第一次拉取 # clone项目 git clone xxx2、后续的拉取 第一次拉取是指本地为空&#xff0c;如果本地已…

前端:改变鼠标点击物体的颜色

需求&#xff1a; 需要改变图片中某一物体的颜色&#xff0c;该物体是纯色&#xff1b; 鼠标点击哪个物体&#xff0c;哪个物体的颜色变为指定的颜色&#xff0c;利用canvas实现。 演示案例 代码Demo <!DOCTYPE html> <html lang"en"><head>&l…

[Unity] ShaderGraph动态修改Keyword Enum,实现不同效果一键切换

上次更新已然四个月前&#xff0c;零零散散的工作结束&#xff0c;终于有时间写点东西记录一下~ 实际使用中&#xff0c;经常会碰到同一个对象需要切换不同的材质&#xff0c;固然可以通过C#直接替换材质球。 或者在ShaderGraph中使用Comparison配合Branch实现切换&#xff…

电脑出现 0x0000007f 蓝屏问题怎么办,参考以下方法尝试解决

电脑蓝屏是让许多用户头疼的问题&#xff0c;其中出现 “0x0000007f” 错误代码更是较为常见且棘手。了解其背后成因并掌握修复方法&#xff0c;能帮我们快速恢复电脑正常运行。 一、可能的硬件原因 内存问题 内存条长时间使用可能出现物理损坏&#xff0c;如金手指氧化、芯片…

深度学习中的并行策略概述:1 单GPU优化

深度学习中的并行策略概述&#xff1a;1 单GPU优化 1 Training Larger Models on a Single GPU 在讨论模型的“扩展”时&#xff0c;往往会想到在多个GPU或多台机器上进行模型训练。不过&#xff0c;即便是在单个GPU上&#xff0c;也存在多种方法来训练更大规模的模型并提升…

数据结构(哈希表(中)纯概念版)

前言 哈希表&#xff08;Hash Table&#xff09;是计算机科学中的一个基础而重要的数据结构&#xff0c;它广泛评估各种算法和系统中&#xff0c;尤其是在需要快速查找、插入和删除操作的场景中。由于其O( 1)的平均时间复杂度&#xff0c;存储表在性能要求较高的应用中表现得非…

centos7的磁盘扩容

1、首先&#xff0c;确认你的磁盘是否已经正确识别并添加了新的空间。你可以使用lsblk或fdisk -l命令来查看 lsblk fdisk /dev/vda 2、我的情况是这样的&#xff0c;误操作将盘扩展为物理卷轴了&#xff0c;所以说是这样呈现的&#xff0c;如果有我的那种情况请先删除物理卷轴…

uniapp 微信小程序 页面部分截图实现

uniapp 微信小程序 页面部分截图实现 ​ 原理都是将页面元素画成canvas 然后将canvas转化为图片&#xff0c;问题是我页面里边本来就有一个canvas&#xff0c;ucharts图画的canvas我无法画出这块。 ​ 想了一晚上&#xff0c;既然canvas最后能转化为图片&#xff0c;那我直接…

ubuntu笔记

1.系统下载与虚拟机设置 系统下载https://cn.ubuntu.comhttps://releases.ubuntu.com 虚拟机设置: 桥接模式 在桥接模式下, 虚拟出来的操作系统就像是局域网中的一台独立的主机, 它可以访问网内任何一台机器主机网卡和虚拟网卡的IP地址处于同一个网段, 子网掩码、网关、DNS等…

音视频入门基础:AAC专题(13)——FFmpeg源码中,获取ADTS格式的AAC裸流音频信息的实现

音视频入门基础&#xff1a;AAC专题系列文章&#xff1a; 音视频入门基础&#xff1a;AAC专题&#xff08;1&#xff09;——AAC官方文档下载 音视频入门基础&#xff1a;AAC专题&#xff08;2&#xff09;——使用FFmpeg命令生成AAC裸流文件 音视频入门基础&#xff1a;AAC…

开发高效实时美颜工具:从美颜SDK到直播APP插件的全流程解析

今天&#xff0c;小编将以美颜SDK为核心&#xff0c;从开发、集成到优化的全流程&#xff0c;深入解析高效实时美颜工具的实现路径。 一、美颜SDK的核心功能与技术构成 美颜SDK是实时美颜技术的核心模块&#xff0c;承担着图像处理和效果呈现的重任。其主要功能包括&#xff…

用 gdbserver 调试 arm-linux 上的 AWTK 应用程序

很多嵌入式 linux 开发者都能熟练的使用 gdb/lldb 调试应用程序&#xff0c;但是还有不少朋友在调试开发板上的程序时&#xff0c;仍然在使用原始的 printf。本文介绍一下使用 gdbserver 通过网络调试开发板上的 AWTK 应用程序的方法&#xff0c;供有需要的朋友参考。 1. 下载 …

20241225在ubuntu22.04.5下使用smartmontools命令查看ssd的寿命

20241225在ubuntu22.04.5下使用smartmontools命令查看ssd的寿命 2024/12/25 15:10 rootrootrootroot-ThinkBook-16-G5-IRH:~$ sudo apt install smartmontools rootrootrootroot-ThinkBook-16-G5-IRH:~$ sudo fdisk -l Disk /dev/nvme0n1: 3.73 TiB, 4096805658624 bytes, 800…

ASP.NET |日常开发中定时任务详解

ASP.NET &#xff5c;日常开发中定时任务详解 前言一、定时任务的概念与用途1.1 定义1.2 应用场景 二、在ASP.NET中实现定时任务的方式2.1 使用System.Timers.Timer2.2 使用Quartz.NET 三、定时任务的部署与管理3.1 部署考虑因素3.2 管理与监控 结束语优质源码分享 ASP.NET &am…

整车厂如何规划构建汽车集成安全团队的软件研发能力

&#xff08;一&#xff09;、汽车集成安全团队职责 汽车集成安全团队肩负着保障汽车整体安全性的重任&#xff0c;从多个维度守护驾乘人员安全与车辆稳定运行&#xff0c;其主要职责如下&#xff1a; 功能安全管理 标准遵循与流程制定&#xff1a;严格依据ISO 26262等功能安…

使用 Python 创建多栏 Word 文档 – 详解

目录 引言 一、工具与安装 二、Python 在 Word 中创建简单的多栏布局 三、Python 在 Word 文档的栏间添加分隔线 四、Python 从Word文档的指定位置开启多栏设置 五、Python 为多栏 Word 文档的各栏添加页码 引言 在文档设计中&#xff0c;排版不仅决定了内容的呈现方式&…

使用强化学习与遗传算法优化3D低空物流路径_版本2

在快速发展的物流与自主系统领域&#xff0c;优化无人机在三维空间中的飞行路径至关重要。无论是在城市环境中导航还是在复杂地形中穿行&#xff0c;确保高效、安全且节能的航线规划能够显著提升运营效率。本文将深入探讨一种创新方法&#xff0c;结合强化学习&#xff08;Rein…

[手机Linux] 七,NextCloud优化设置

安装完成后在个人设置里发现很多警告&#xff0c;一一消除。 只能一条一条解决了。 关于您的设置有一些错误。 1&#xff0c;PHP 内存限制低于建议值 512 MB。 设置php配置文件&#xff1a; /usr/local/php/etc/php.ini 把里面的&#xff1a; memory_limit 128M 根据你自…