shared memory 제거를 할때요....
글쓴이: unexpected / 작성시간: 화, 2003/09/02 - 11:05오전
프로그램에서 shared memory를 사용을 하는데요....그 프로세서를 -9 시그널로 죽이면 프로세서는 죽고 shared memory는 남아 있거든요...
프로세서가 죽기전에 삭제를 하고 죽어야 할텐뎅...
-9 시그널을 signal 에도 걸어 놓을 수도 없고요...
아파치에를 보면 killall -9 httpd 로 죽여도 자신이 만든 shared memory를 다 지우고 죽던데...
어카면 그렇게 할수 있는지요....돔 주심 감솨감솨함돠.....
존 하루 되세엽....^^
Forums:
감시 프로세스를 생성하세요
KILL 신호는 이벤트를 받아서 처리할 수 없기 때문에, Shared Memory를 자신이 clear 시킬 수는 없습니다.
따라서, 이런 경우 프로세스를 하나 생성한 뒤, Child 프로세스가 원래의 기능을 수행하고 Parent 프로세스는 wait()함수나 SIGCHLD 시그날을 이용해서 Child의 종료를 감지하여, Memory를 해제하면 됩니다. 그 후, 자신도 종료하면 되겠지요~
댓글 달기