gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 05:28:32 25 4
gpt4 key购买 nike

我正在编写一个 C++ 代码,我从用户那里获取进程名称,然后使用命令 pgrep process_name 获取进程 ID,然后使用命令 kill process_id 终止它,问题是我无法将命令 pgrep 的输出保存在变量中以再次使用它,这就是我到目前为止所达到的我正在使用 ubuntu 的终端

p.s(stringcat 是一个我疯狂地连接命令中使用的单词的函数)

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

最佳答案

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

关于c++ - 如何将终端的输出保存到变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36793718/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com