| 473 | return env->NewGlobalRef(res); |
| 474 | } |
| 475 | std::string exec(const char* cmd) { |
| 476 | std::array<char, 128> buffer; |
| 477 | std::string result; |
| 478 | std::unique_ptr<FILE, decltype(&pclose)> pipe(popen(cmd, "r"), pclose); |
| 479 | if (!pipe) { |
| 480 | throw std::runtime_error("popen() failed!"); |
| 481 | } |
| 482 | while (fgets(buffer.data(), buffer.size(), pipe.get()) != nullptr) { |
| 483 | result += buffer.data(); |
| 484 | } |
| 485 | return result; |
| 486 | } |
| 487 | |
| 488 | std::string generate_jvm_opts() { |
| 489 | char* gs_home = getenv("GRAPHSCOPE_HOME"); |