본문 바로가기

컴퓨터/언어,프로그래밍

c에서 fork()->exec() 후에 해당 프로세스의 상태 체크 방법은?

C에서 fork()로 자식프로세스를 생성 후에
exec()를 이용하여 독립된 프로세스를 만들었을 경우에...

독립된 프로세스의 정상 종료, 비정상 종료를 검사할 방법이 있을까요?





C 보다는 유닉스 내용인 것 같습니다.

fork(), exec() 이후 자식프로세스가 끝날 때 exit() 호출합니다.
exit() 할 때 특정 값을 주도록 돼 있고 이 값은 부모 프로세스에서
wait()로 받아올 수 있습니다.

일반적으로 유닉스 프로세스는 종료값이 0일 경우 정상종료로 보기 때문에
wait()에서 받아온 자식프로세스의 종료 값을 보면 알 수 있겠죠.

사용 방법은

int status, exitvalue;

wait(&status);

exitvalue = WEXITSTATUS(status);

이렇게 하셔야 합니다.

제주삼다수, 2L,... 오뚜기 진라면 매운... 상하목장 유기농 흰... 남양 프렌치카페 카... 고려인삼유통 홍삼 ... 종근당건강 오메가3... 요이치 카링 유무선...