zoukankan      html  css  js  c++  java
  • C++执行shell命令linux

    在linux系统下,用C++程序执行shell命令有多种方式

    管道方式

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

    int main()
    {
        FILE *pp = popen("cd /xxxx && ls -l", "r"); // build pipe
        if (!pp)
            return 1;

        // collect cmd execute result
        char tmp[1024];
        while (fgets(tmp, sizeof(tmp), pp) != NULL)
            std::cout << tmp << std::endl; // can join each line as string
        pclose(pp);

        return 0;
    }

    popen会调用fork来产生子进程,由子进程来执行命令行
    子进程建立管道连接到输入输出,返回文件指针,输出执行结果
    系统调用方式

    #include <cstdlib>
    int main()
    {   
        system("ps -ef| grep myprocess");

        return 0;
    }

    system函数调用fork来产生子进程,执行命令行

  • 相关阅读:
    leetcode41
    leetcode32
    leetcode312
    leetcode10
    leetcode85
    leetcode124
    leetcode301
    leetcode84
    一文读懂机器学习大杀器XGBoost原理
    【干货】机器学习中的五种回归模型及其优缺点
  • 原文地址:https://www.cnblogs.com/lidabo/p/15562193.html
Copyright © 2011-2022 走看看