如何将终端的输出保存到变量

时间:2016-04-22 12:20:27

标签: c++ ubuntu-14.04

我正在编写一个c ++代码,其中我从用户获取进程名称然后使用命令pgrep process_name获取进程ID然后我使用命令kill process_id将其终止,问题是我可以&#39 ; t将命令pgrep的输出保存在变量中以重新使用它,这就是我到目前为止所达到的 我正在使用ubuntu的终端

P.S(stringcat是函数I狂来连接词语我在命令中使用)

   cout<<"enter the name of the process you wanna stop : ";
   cin>>in;
   string PID;
   command=stringcat("pgrep ",in,"");
   /*
   const char*temp = command.c_str();
   PID=system(temp);
   */
   command=stringcat("kill",PID,"");
   const char*temp2 = command.c_str();
   system(temp2);

1 个答案:

答案 0 :(得分:1)

popen是最简单的选择,或者您可以使用fork并将子进程的stdout替换为您想要的内容。