当前位置: 首页 > article >正文

c++ 执行系统命令system 、popen

一、系统命令system

1、示例:

#include <cstdlib> // 必须包含这个头文件来使用system()

int main() {
    system("sleep 10"); // 塞执行
    return 0;
}
  1. 程序会等待10秒后,执行完成
  2. 使用system("sleep 10 &");可以实现非阻塞执行

2、示例: 注意若用了分号;&只对前面指令有效

#include <cstdlib> // 必须包含这个头文件来使用system()

int main() {
    system("sleep 10; ls &"); // 非阻塞执行
    return 0;
}

3、示例

#include <cstdlib> // 必须包含这个头文件来使用system()

int main() {
    system("sleep 10 && ls &"); // 非阻塞执行
    return 0;
}

二、系统命令popen

#include <iostream>
#include <unistd.h>
#include <sys/types.h>

std::string execCmd(const char* cmd) {
    FILE *pp = popen(cmd, "r");
    char tmp[1024];
    std::string result;
    while (fgets(tmp, sizeof(tmp), pp) != NULL)
        result += tmp;
    pclose(pp);
    return result;
}

int main() {
    for (int i = 0; i < 10; ++i) {
        std::string output = execCmd("ls");
        std::cout << output;
    }
    return 0;
}


http://www.kler.cn/a/157822.html

相关文章:

  • 使用Python Flask搭建Web问答应用程序并发布到公网远程访问
  • 快速学习PyQt5的高级自定义控件
  • 25.Python 网络编程:TCP和UDP编程
  • python-批量调整指定目录下所有图片文件的大小
  • uniapp-hubildx配置
  • 《消息队列MyMQ》——参考RabbitMQ实现
  • leetcode做题笔记1038. 从二叉搜索树到更大和树
  • 聊聊 Jetpack Compose 的 “状态订阅自动刷新” -- mutableStateListOf
  • 25、pytest的测试报告插件allure
  • es常用查询编辑
  • 【计算机网络笔记】物理层——物理介质
  • 景区一体化污水处理设备如何挑选
  • golang之net/http模块学习
  • cordova详解
  • MySQL 忘记root密码后重置密码操作
  • 让你的内网的GCE 也可以访问外网,Google Cloud Nat 介绍
  • 大型语言模型在实体关系提取中的应用探索(二)
  • K8S 工具收集
  • 智跃人力资源管理系统GenerateEntityFromTable.aspx接口SQL注入漏洞复现 [附POC]
  • 微软 Power Platform 零基础 Power Pages 网页搭建教程学习实践(一)