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); } }