프로세스 간의 공유 메모리 사용
글쓴이: yungyung / 작성시간: 수, 2007/03/07 - 10:54오전
안녕하세요.
저는 지금 패킷 분석 모듈을 만들고 있습니다.
현재 libipq를 통해서 캡쳐한 패킷(들어오는 패킷만)을 따로 구현한 해쉬 체이닝 구조에 저장하는데요.
여기서 10분 간격으로 오래된 패킷 정보를 삭제하려 합니다.
이 때 패킷을 삭제하는 프로세스를 따로 돌리려는데 여기서 공유 메모리 사용이 필요하게 되었습니다.
제가 의문인 점은 공유 메모리에 제가 구현한 구조체에 맞게 바로 저장이 가능한지 아니면 하나하나 저장을 해주던가 미리 생성을 해놓고 공유 메모리로 복사를 해야하는가 입니다.
혹시 공유 메모리에 자료구조의 첫주소(실제 주소)를 저장해 놓고 다른 프로세스에서 접근이 가능할까요?
공유 메모리 말고 좋은 방법이 있다면 답변 부탁드립니다.
Forums:
공유된다는것을
공유된다는것을 제외하면 malloc으로 생성한 메모리사용하는거랑 똑같다고 생각하시면 됩니다.
비슷한 질문이 이미 있습니다.
http://kldp.org/node/78217
========================================
* 부분이 전체를 대변하는 하나의 속성일때 진리이다.
영속적이지 못한 것은 전체가 될 수 없다.
========================================
* The truth will set you free.
..
구현은 가능합니다. 다만 그 기준이 메모리 주소가 아닌 ID로 해야만 됩니다.
조금 귀찮을수는 있지만 구현하시는데 별 문제는 없습니다. 또 한가지 생각해
보셔야될것이 사용하시는 다른 프로그램들중에 공유 메모리를 사용하는것들이
있습니다. 따라서 ID를 생성할때 일정한 대역을 만들어서 하는 방법이 있습니다.
댓글 달기