
	                	                 
PCNTL_WEXITSTATUS 함수는 프로세스의 종료 상태를 확인하는 데 사용됩니다. 이 함수의 반환값은 프로세스의 종료 코드를 8비트로 반환합니다. 
프로세스가 정상적으로 종료된 경우, 반환값은 0이 아닌 0이 반환됩니다. 이는 POSIX에서 정의한 EXIT_SUCCESS와 동일합니다. 
반환값이 0이 아닌 경우, 프로세스가 비정상적으로 종료된 것입니다. 이 경우, 반환값을 8비트로 나누어 각 비트의 의미를 확인할 수 있습니다. 
예를 들어, 반환값이 0x80인 경우, 프로세스가 시그널로 종료된 것입니다. 반환값이 0x40인 경우, 프로세스가 SIGFPE로 종료된 것입니다. 
다음은 예제입니다.
#hostingforum.kr
c
#include 
#include 
#include 
int main() {
    pid_t pid = fork();
    if (pid == 0) {
        // 자식 프로세스
        exit(0x80); // 시그널로 종료
    } else {
        // 부모 프로세스
        wait(NULL);
        int status = WEXITSTATUS(getppid());
        printf("프로세스의 종료 상태: 0x%xn", status);
    }
    return 0;
}
이 예제에서, 자식 프로세스는 시그널로 종료되었습니다. 부모 프로세스는 자식 프로세스의 종료 상태를 확인하여 0x80을 출력합니다.
2025-06-14 09:15