Я создал файл SHM в /dev /shm и поднял его на блок памяти в течение долгого времени. и все они создадут много таких файлов SHM (около тысяч). < /p>
Я хочу shm_unlink файлы после инициализации моего приложения, и удалить их позже, потому что эти файлы SHM требуются только тогда, когда мое Приложение запуска и выходу (межпроцессовые проверки данных). < /p>
Но когда я удаляю их во второй раз, я получил другой адрес, хотя я передал старый адрес MMAP ()
Я создал файл SHM в /dev /shm и поднял его на блок памяти в течение долгого времени. и все они создадут много таких файлов SHM (около тысяч). < /p> Я хочу shm_unlink файлы после инициализации моего приложения, и удалить их позже, потому что эти файлы SHM требуются только тогда, когда мое Приложение запуска и выходу (межпроцессовые проверки данных). < /p> Но когда я удаляю их во второй раз, я получил другой адрес, хотя я передал старый адрес MMAP ()
При использовании shmget и shmat я могу видеть общие сегменты с помощью команды ipcs -m. Но когда я запускаю cat /proc/1599/maps (1599 — идентификатор процесса), я также вижу сегменты общего доступа, но следующим образом:
7f5ba89ed000-7f5ba8a6d000...
Я пытаюсь программировать, используя общую память/C++. У меня есть несколько процессов, обращающихся к общей части памяти, которая затем отключается во время выполнения и ссылается на другую часть, как только она будет завершена с предыдущей частью....
У меня есть и выпускаю, чтобы изменить массив, я попробую большинство из них .. Попробуйте использовать array_merge, foreach, forloop, в то время как петля и т. Д. Но не повезло
Моя концепция неясна, мне нужна ваша помощь, чтобы получить...