안녕하세요 Shared Memory에 접근하는 Agent앱을 개발하다가 여기저기 찾아봐도 잘 모르겠어서 질문 올려 봅니다.
세가지 앱이 있습니다. A는 WPF C#앱이고 B는 Python앱 입니다. 세번째 C앱은 'BLauncher’입니다. C# Service로 개발했습니다. C앱은 B앱을 업데이트하고 재실행 하기 위한 앱으로 B.exe가 내려가 있으면 다시 실행해 주는 앱 입니다.
2개의 PC PC1 PC2가 있습니다. PC1은 제 노트북이고 계정이 1개이고 Windows11 입니다. 두번째 PC2는 두개의 계정이 'Hello’와 'eHello’가 있고 OS는 Windows10입니다.
계정을 1개만 사용하는 PC1에서 A앱으로 Shared Memory의 "MACHINE_INFO"라는 세그먼트에 2000Byte정도의 데이터를 Write하고 Python으로 개발한 B앱에서 불러왔을 때 Shared Memory의 데이터는 잘 불러와 집니다.
하지만 B앱을 .exe로 빌드한 후 계정 2개가 있는 PC2에 Windows Service에 BLauncher인 C앱을 띄워서 실행 하면 "MACHINE_INFO"라는 세그먼트가 없다고 나옵니다.
Chat GPT에 물어보니 Session별로 Shared Memory 사용하는 공간이 다르다고 답변 해주었는데 이 부분에 대해 제가 잘 모르다 보니 맞는 말인지를 판단을 못하겠습니다.
윈도우 서비스는 System계정으로 실행이 되는데 WPF앱으로 System계정이 Access하는 Shared Memory영역에 Write할 수 있을까요?