질문질문
글쓴이: ymkim00 / 작성시간: 목, 2004/03/18 - 11:11오전
리눅스 프로그램을 마니 해보지 못해봤는데
큰 프로젝트를 맞는바람에 고생이 장난이 아닙니다.
고수님들의 도움이 필요합니다.^^
질문!!
하나의 어플리케이션에 동시에 최다 10개까지의
쓰레드가 같이 돌아갑니다. 데스크탑 환경이 아닌
임베디드환경에서 돌아가다보니 시스템이 아주 버거
워하는것 같습니다.
메모리부족문제로 생각됩니다만.. 가끔씩 이 쓰레드 중에
좀비 프로세스가 되어버리는 경우가 있습니다.
이때 이 좀비 프로세스를 감지하고 쓰레드를 죽이고
다시 살릴수 있는 방법은 없는건가요? 멍청한건지
찾기가 쉽지가 않습니다.
답변주시는 고수님들 로또 당첨 될겁니당^^
Forums:
조금 설명이 부족한것 같습니다..개발 환경등이나 무엇을 개발하시는
조금 설명이 부족한것 같습니다..
개발 환경등이나 무엇을 개발하시는지
설명이좀더 필요할것같습니다..
일반적으로 좀비프로세스는.. 자식 프로세스가
죽었을경우 부모프로세스가 처리해주지 않는경우 생깁니다..
자식이 죽을경우 부모프로세스가 처리해줄수 있습니다..
하나의 쓰레드가 그냥 좀비상태로 가신다함은 Fork를 이용하시는
게 아닌가요? 좀 답변하기에는 조금 설명이 부족한듯합니다..
' 형식이 내용을 규정한다. '
감시 스레드를 하나 만드심이 어떤가요
감시 스레드나 메인 스레드에서 각 태스크가 살아 있는지를 확인 할 수 있는
변수 배열을 하나 만들어 놓고 다른 태스크에서 이 변수에 값을 0으로 초기화를
하게 하는 겁니다. 그리고 감시 스레드는 일정 시간 간격으로 이 변수의 값을
증가 시킵니다. 다른 스레드가 살아 있다면 이 변수를 항상 0 으로 초기화를
시키겠죠. 근데 감시 스레드가 보기에 특정 스레드의 변수가 일정값을 넘어가는
것을 확인하면 그 스레드는 죽은 것이라고 판단을 할 수 있겠지요
설명이 좀 장황한가요
도움이 되시기를...
댓글 달기