multiprocessing shared_memory - no such file

Viewed 409

I am trying to access a shared_memory from a subprocess but I am having errors like:

shm = shared_memory.SharedMemory(name=line.decode('utf-8'), create=False)
  File "/usr/lib/python3.8/multiprocessing/shared_memory.py", line 100, in __init__
    self._fd = _posixshmem.shm_open(
FileNotFoundError: [Errno 2] No such file or directory: '/psm_a5c1de7f'

Take the sample code for reference:

in mysubprocess.py

from multiprocessing import shared_memory


s = "some string"
shm = shared_memory.SharedMemory(create=True, size=len(s))
buffer = shm.buf
buffer[:] = bytes(s, 'utf-8')
print(shm.name)

in test.py

import subprocess
from multiprocessing import shared_memory


proc = subprocess.Popen(['python', 'mysubprocess.py'],
                        stdout=subprocess.PIPE,
                        stderr=subprocess.PIPE)


for line in proc.stdout.readlines():
    line = line.strip()
    shm = shared_memory.SharedMemory(name=line.decode('utf-8'), create=False)
    buffer = shm.buf
    print(bytes(buffer))

I am using Windows 10, but running it on docker ubuntu 20.04 with python 3.8.5

0 Answers
Related