• Linux下Qt启、停“.sh”脚本文件及获取终端打印信息


    1、弹出新终端并执行指令

    char* ch0;
    QString pinip0 = "gnome-terminal -x bash -c \"/home/qt/Server/opengadgetron.sh\"";
    qDebug()<
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    2、关闭相应名称进程

    char* ch0;
    QString pinip0 = "killall gadgetron";
    qDebug()<
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    3、获取终端打印信息内容

    QString str = "killall gadgetron";
    FILE* fp = popen(str.toLocal8Bit().data(), "r");
    if(nullptr != fp){
    		char buf[1024] = {0};
    		char result[2000] = {0};
    		while(fgets(buf, sizeof(buf), fp)){
    				strcat(result, buf);
    				if(strlen(result) > sizeof(buf)){
    					break;
    				}
    		}
    QString resultStr = QString("%1").arg(result);
    printf("%s\n",resultStr.toLocal8Bit().data());
    pclose(fp);
    fp=nullptr;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
  • 相关阅读:
    prism.js使用图文教程
    (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
    某学院 期末test
    Hive基础(DML 数据操作)
    idea2023根据表自动生成+springboot跑起来
    Spring云服务:如何将应用程序轻松迁移到云端
    Ribbon跟Nginx实现负载均衡的区别!
    主备延迟的问题
    数据结构:单链表
    即时聊天系统
  • 原文地址:https://blog.csdn.net/xiao123456bin/article/details/127964744