c++可以通过系统调用的方式执行shell命令

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

    return 0;
}

但是如果要获取命令的执行结果,那么就需要

使用

#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <cstring>
using namespace std;
int executeCMD(const char *cmd,char *result)
{
    char buf_ps[512];
    char ps[512]={0};
    int len=0;
    FILE *ptr;
    strcpy(ps, cmd);
    if((ptr=popen(ps, "r"))!=NULL)
    {
        while(fgets(buf_ps, 512, ptr)!=NULL)
        {
           strcat(result, buf_ps);
           if(strlen(result)>512)
               break;
        }
        pclose(ptr);
        ptr = NULL;
    }
    else
    {
        printf("popen %s error\n", ps);
    }
}

作者 admin

发表评论

您的电子邮箱地址不会被公开。