有没有办法让在Python中创建的SharedMemory
对象在进程之间保持持久性?
如果在交互式Python会话中调用以下代码:
>>> from multiprocessing import shared_memory
>>> shm = shared_memory.SharedMemory(name='test_smm', size=1000000, create=True)
它会在Linux机器的
/dev/shm/
目录下创建一个文件。ls /dev/shm/test_smm
/dev/shm/test_smm
但是当 Python 会话结束时,我会得到以下内容:
/usr/lib/python3.8/multiprocessing/resource_tracker.py:216: UserWarning: resource_tracker: There appear to be 1 leaked shared_memory objects to clean up at shutdown
warnings.warn('resource_tracker: There appear to be %d
现在 test_smm
已经被删除了:
ls /dev/shm/test_smm
ls: cannot access '/dev/shm/test_smm': No such file or directory
那么有没有办法使Python 3.8创建的共享内存对象在进程运行期间保持存在?
sysv_ipc
,我可以实现这一点。 - Karlson