c wait 예제

wait 함수는 부모 프로세스가 자식 프로세스의 종료를 기다릴 수 있도록 도와주는 함수입니다. 이 함수를 사용하여 부모 프로세스가 자식 프로세스의 실행이 완료되기를 기다릴 수 있습니다.

예제 코드

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/wait.h>

int main() {
    pid_t pid;
    int status;

    pid = fork();

    if (pid < 0) {
        // fork 실패
        perror("Fork failed");
        exit(1);
    } else if (pid == 0) {
        // 자식 프로세스
        printf("자식 프로세스 실행 중\n");
        sleep(5);
        printf("자식 프로세스 종료\n");
        exit(0);
    } else {
        // 부모 프로세스
        printf("부모 프로세스 실행 중\n");
        wait(&status);
        printf("자식 프로세스 종료 대기 완료\n");
        if (WIFEXITED(status)) {
            int exit_status = WEXITSTATUS(status);
            printf("자식 프로세스의 종료 상태: %d\n", exit_status);
        }
        exit(0);
    }

    return 0;
}

설명

이 예제는 fork 함수를 사용하여 자식 프로세스를 만들고, 자식 프로세스가 실행을 완료하기를 기다리는 부모 프로세스를 만듭니다.

이러한 방식으로 wait 함수를 사용하여 부모 프로세스가 자식 프로세스의 실행을 완료하기를 기다리는 예제입니다.


#C #wait #자식프로세스 #부모프로세스