Rust 에서 자식 프로세스 실행하기

Beginner

This tutorial is from open-source community. Access the source code

소개

이 실습에서는 Rust 에서 자식 프로세스에 대해 배우고, 완료된 자식 프로세스의 출력을 나타내는 process::Output 구조체와 프로세스를 생성하는 process::Command 구조체를 사용합니다. 예제 코드는 rustc --version 명령을 실행하고, 프로세스가 성공했는지 실패했는지 확인하여 출력을 적절하게 처리하는 방법을 보여줍니다.

참고: 실습에서 파일 이름을 지정하지 않으면 원하는 파일 이름을 사용할 수 있습니다. 예를 들어 main.rs를 사용하고 rustc main.rs && ./main으로 컴파일 및 실행할 수 있습니다.

자식 프로세스

process::Output 구조체는 완료된 자식 프로세스의 출력을 나타내고, process::Command 구조체는 프로세스 생성자입니다.

use std::process::Command;

fn main() {
    let output = Command::new("rustc")
        .arg("--version")
        .output().unwrap_or_else(|e| {
            panic!("프로세스 실행 실패: {}", e)
    });

    if output.status.success() {
        let s = String::from_utf8_lossy(&output.stdout);

        print!("rustc 성공적으로 실행되었으며 stdout 은 다음과 같습니다:\n{}", s);
    } else {
        let s = String::from_utf8_lossy(&output.stderr);

        print!("rustc 실행 실패했으며 stderr 은 다음과 같습니다:\n{}", s);
    }
}

(이전 예제를 rustc에 잘못된 플래그를 전달하여 실행해 보는 것을 권장합니다.)

요약

축하합니다! 자식 프로세스 실습을 완료했습니다. LabEx 에서 더 많은 실습을 통해 기술을 향상시킬 수 있습니다.