vfork에 대해서..
글쓴이: 익명 사용자 / 작성시간: 월, 2002/07/29 - 1:30오후
APUE를 가지고 공부하고 있는 사람인데요..
chapter 8의 내용중에서 vfork를 보면..
스티븐스가 쓴 내용을 보면 vfork를 해서 나온 child 프로세스에서 exit를 하면 기존에 있던 Standard I/O stream을 다 닫아 버리기 때문에 parent로 제어권이 넘어간 뒤부터 printf로 출력이 되질 않는다고 했는데..
(책 195페이지 상단의 내용)
실제로 리눅스에서 해보니 vfork해서 나온 child에서 exit로 빠져나오고, parent로 제어권이 넘어간 상태에서도 printf로 출력이 되더군요..
이게 어찌 된 일인지..
parent와 address space를 공유한다면 닫혀야 맞는게 아닐까요?
참고로 커널 버전은 2.4.18입니다..
아시는 분은 답변을..
Forums:
Re: vfork에 대해서..
fork를 하면 화일기술자 테이블도 새로 생성되죠.
즉, 공유가 되지 않고 각각 독립적인 테이블을
가리키게 되죠. 그러므로 자식이든 부모든 상관
없이 스트림 입출력이 가능한거 아닌가요?
Re: vfork에 대해서..
리눅스에서는 vfork()지원안합니다....
Re^2: vfork에 대해서..
으음..역시 그렇군요..
답변해주셔서 감사..
댓글 달기