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来产生子进程,执行命令行

  • 相关阅读:
    Freemarker空值判断
    php集成开发环境IDE
    mysql卸载
    Apache网站根目录
    冒泡排序
    线程操作
    通过滚轮改变图片大小
    Timer计时器
    写异常日志
    异常处理
  • 原文地址:https://www.cnblogs.com/lidabo/p/15562193.html
Copyright © 2011-2022 走看看