假设我有一个共享内存,通过mmap或shm_open或MapViewOfFile创建。我想知道有多少进程(甚至更好的线程)现在已经打开了内存。 是否有一些函数可以找出文件描述符/句柄现在有多少用户?或类似的东西。
背景: 我尝试在一台计算机上进行插件对等通信。插件是Audio VST,我需要它来进行时间同步。我的想法是使用共享内存,以便他们能够找到自己。 (它们确实可以在不同的过程中启动)。但是为了正确操作,我需要知道打开共享内存的实际插件的数量。只是增加内存中的引用计数器将不起作用,因为插件的进程可能随时崩溃,因此引用计数器不会减少。信号量也是如此。
感兴趣的操作系统是Windows和Mac OS X. 可能这个任务可以通过使用“服务器”或协调过程来解决,但它对于插件来说真的很糟糕......即它需要一个安装程序,并且很难向用户解释为什么他们需要为插件提供系统服务 - 英寸