메모리 변경이 되었을때 해당 프로세스에 시그널이라던지 주는게 좋을것 같구요
금방 떠오르는 아이디어는
[zeroin@linuxweb zeroin]$ ipcs -t
------ Shared Memory Attach/Detach/Change Times --------
shmid owner attached detached changed
138936320 oracle May 15 13:24:57 May 15 13:24:57 Mar 4 16:12:52
151879681 sise May 15 13:26:56 May 15 13:26:56 May 15 05:37:47
151715842 sise May 15 13:26:58 May 15 13:26:58 May 15 05:25:10
151683075 sise May 15 13:27:00 May 15 13:27:00 May 15 05:24:08
151846916 sise May 15 13:27:01 May 15 13:27:01 May 15 05:34:23
151781381 sise May 15 13:26:54 May 15 13:26:54 May 15 05:30:17
38928390 zeroin May 15 08:55:00 May 15 08:55:00 Feb 14 19:34:52
151814152 sise May 15 13:27:01 May 15 13:27:01 May 15 05:33:19
151388169 sise May 15 04:21:12 May 15 04:21:12 May 14 05:23:06
151748618 sise May 15 13:27:01 May 15 13:27:01 May 15 05:29:04
151650315 sise May 15 13:27:01 May 15 13:27:01 May 15 05:23:03
------ Shared Memory Operation/Change Times --------
shmid owner last-op last-changed
1966080 oracle Thu May 15 13:27:01 2003 Thu May 15 13:27:01 2003
131073 zeroin Not set
Thu May 15 00:01:00 2003
세마포어를 사용하는 방법으로 했던거 같은데...다른 방법이 또 있는지
세마포어를 사용하는 방법으로 했던거 같은데...
다른 방법이 또 있는지는 모르겠네요.
변경 되었다는 메세지를 보내보세요.
메세지 큐나, 파이프, 유닉스 소켓 '-' 등으로.
변경 추적
가장 확실한 방법은,
메모리 변경이 되었을때 해당 프로세스에 시그널이라던지 주는게 좋을것 같구요
금방 떠오르는 아이디어는
[zeroin@linuxweb zeroin]$ ipcs -t
------ Shared Memory Attach/Detach/Change Times --------
shmid owner attached detached changed
138936320 oracle May 15 13:24:57 May 15 13:24:57 Mar 4 16:12:52
151879681 sise May 15 13:26:56 May 15 13:26:56 May 15 05:37:47
151715842 sise May 15 13:26:58 May 15 13:26:58 May 15 05:25:10
151683075 sise May 15 13:27:00 May 15 13:27:00 May 15 05:24:08
151846916 sise May 15 13:27:01 May 15 13:27:01 May 15 05:34:23
151781381 sise May 15 13:26:54 May 15 13:26:54 May 15 05:30:17
38928390 zeroin May 15 08:55:00 May 15 08:55:00 Feb 14 19:34:52
151814152 sise May 15 13:27:01 May 15 13:27:01 May 15 05:33:19
151388169 sise May 15 04:21:12 May 15 04:21:12 May 14 05:23:06
151748618 sise May 15 13:27:01 May 15 13:27:01 May 15 05:29:04
151650315 sise May 15 13:27:01 May 15 13:27:01 May 15 05:23:03
------ Shared Memory Operation/Change Times --------
shmid owner last-op last-changed
1966080 oracle Thu May 15 13:27:01 2003 Thu May 15 13:27:01 2003
131073 zeroin Not set
Thu May 15 00:01:00 2003
------ Message Queues Send/Recv/Change Times --------
msqid owner send recv change
이런식으로 attached detached changed
시간이 기록이 되니 이 시간을 비교해봐서 알수 있지 않을까요?
울랄라~ 호기심 천국~!!
http://www.ezdoum.com
현재까지는 운영체제가 그런 기능을 지원하지 않는 것로 알고있습니다.
현재까지는 운영체제가 그런 기능을 지원하지 않는 것로 알고있습니다.
따라서 원하시는 작업은 프로그래머의 책임입니다.
메모리에 읽기를 계속 반복적으로 하기 싫으시면, 메모리를 접근하여 변경하는 프로그램에 다음 방식 중에 반드시 하나를 써서 해결해야 할 것으로 보입니다.
1) semaphore 사용하기
2) 기다리는 프로세스에게 signal 주기
1)번인 경우에는 읽는 프로그램에도 semaphore를 써야 하고, 2)번 경우에는
signal handler를 사용해야 합니다.
ps) 메모리에 쓰는 프로그램을 수정할 수 없으면 아직까지 현 문제에 대한 해결 방안이 없는 걸로 알고있습니다.
감사합니당~! ^^
그냥 비교하는걸로 해결 했습니다~ -_-a
역시....무식한게 제일 좋군요.....-_-a
세마포어 부분과 시그날 부분은 제가 더 연구를 해본후에 한번 바꿔 보도록 해보겠습니당~! ^^
히히~ 감사~ 감사~ 좋은 하루되세요~~~ ㅡ0ㅡ//
飛上
댓글 달기