C++ Boost Run Shell Command

3 min read Jul 01, 2024
C++ Boost Run Shell Command

Menjalankan Perintah Shell di C++ Menggunakan Boost

Boost adalah library C++ yang menyediakan berbagai macam tool dan komponen yang berguna untuk pengembangan software. Salah satu komponen yang bermanfaat adalah Boost.Process, yang memungkinkan Anda untuk menjalankan perintah shell dengan mudah dari program C++ Anda.

Cara Menggunakan Boost.Process

Berikut adalah langkah-langkah untuk menggunakan Boost.Process untuk menjalankan perintah shell:

  1. Include Header:

    #include 
    
  2. Buat Object child: child merupakan object yang merepresentasikan proses yang akan dijalankan. Anda bisa membuat object ini dengan menggunakan fungsi boost::process::execute. Fungsi ini menerima string yang berisi perintah shell yang ingin Anda jalankan.

    boost::process::child c = boost::process::execute("ls -l");
    
  3. Tunggu Proses Selesai: Untuk menunggu proses selesai, Anda bisa menggunakan fungsi wait() dari object child. Fungsi ini akan mengembalikan nilai exit_code dari proses yang dijalankan.

    int exit_code = c.wait();
    
  4. Tampilkan Hasil: Anda bisa menampilkan hasil keluaran dari proses dengan menggunakan object child. Object ini memiliki beberapa fungsi yang berguna, seperti std_out, std_err, dan get_id.

    std::cout << "Output: " << c.std_out() << std::endl;
    std::cout << "Error: " << c.std_err() << std::endl;
    

Contoh Penggunaan

#include 
#include 

int main() {
  // Jalankan perintah "ls -l"
  boost::process::child c = boost::process::execute("ls -l");

  // Tunggu proses selesai dan dapatkan exit code
  int exit_code = c.wait();

  // Tampilkan output dan error
  std::cout << "Output: " << c.std_out() << std::endl;
  std::cout << "Error: " << c.std_err() << std::endl;
  std::cout << "Exit Code: " << exit_code << std::endl;

  return 0;
}

Keuntungan Menggunakan Boost.Process

  • Kemudahan Penggunaan: Boost.Process menyediakan API yang mudah digunakan untuk menjalankan perintah shell.
  • Keamanan: Boost.Process menyediakan beberapa fitur keamanan, seperti membatasi akses proses yang dijalankan.
  • Portabilitas: Boost.Process dapat digunakan di berbagai platform, seperti Windows, Linux, dan macOS.

Kesimpulan

Boost.Process merupakan tool yang sangat berguna untuk menjalankan perintah shell dari program C++ Anda. Dengan menggunakan Boost.Process, Anda dapat dengan mudah menjalankan berbagai macam perintah shell, seperti menjalankan script, mengakses file, dan melakukan operasi sistem lainnya.