>> Delete Reply from No. 32875 article
No. RE: defunct 상태의 프로세스

등록 2001-06-12 14:58:00 By localhost     조회 2
이름 차주현    

		아마 밑의 예제는 다음 url 에서 그 이유를 확인 할 수 있을 겁니다.
 http://news.netple.com/read/search/view/view.phtml?newsgroup=han/comp/os/linux/devel/4149&query=fork+&offset=  대충
보면 커널이 fork() 를 할때 max_fds를 자식에게 그대로 안주어서 자식이 문제의 소지가 있기
때문에  그렇게 한꺼번에 fd를 많이 열고 fork()한후 다시 fd를 닫는게 아닌가 생각되는데요. 
 (아니면 어쩌지...)  그리고 좀비가 안생기는 방법은 wait, waitpid, sigchild 등에 대해 알아 보
시면 곧 나올꺼라고  생각됩니다.
 
: 제가 fork를 해서 execvp 로 다른 응용프로그램을 호출 했습니다.
:
: 그리구 이 응용프로그램을 정상적으로 끝나게 했는데 이 프로세스가 defunct 상태가 되어
: 버립니다.
: fork를 하는 다른 응용프로그램을 보니
:
: if( !::vfork() )
: {
:   for(int fd=3; fd < 100 ;fd++)
:        ::close(fd); 
: 
:   execvp(...)
:
: }
:
: 위 코드에서 for문을 도는 이유가 무엇입니까?
:
: 그리고 fork를 이용해서 프로그램을 호출 할 때,
:
: defunct 프로세스되는 것을 막는 방법은 무엇입니까?--껌을 씹을 때는 조용히...
[관리자] 패스워드를 입력 하십시오. 답장이 존재하면 함께 삭제됩니다.[ 목록 | 이전 ]
패스워드:    

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved