C++⽤popen执⾏shell脚本并通过pclose获取脚本执⾏结果核⼼代码:
std::string sh_path = "myshell.sh";//脚本路径可以是绝对路径和相对路径
FILE *pp = popen(sh_path.c_str(), "r");
if (pp != NULL) {
std::cout << "shell open success!" << std::endl;
} else {
std::cout << "shell open error!" << std::endl;
}
int result = pclose(pp);
if (result != 0) {
shell脚本返回执行结果std::cout << "shell exe error!" << std::endl;
} else {
std::cout << "shell exe success!" << std::endl;
}
popen打开脚本失败返回NULL。
pclose() 函数关闭由 popen() 打开的管道。
若成功返回shell的终⽌状态(也即⼦进程的终⽌状态),若出错返回-1,错误原因存于errno中。
正常终⽌状态为0。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论