核心代码:
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) {
std::cout << "shell exe error!" << std::endl;
} else {
std::cout << "shell exe success!" << std::endl;
}
popen打开脚本失败返回NULL。
pclose() 函数关闭由 popen() 打开的管道。
若成功返回shell的终止状态(也即子进程的终止状态),若出错返回-1,错误原因存于errno中。
正常终止状态为0。
获取具体错误信息以及更多详细内容请参考博客:https://my.oschina.net/renhc/blog/35116