import time from multiprocessing import Process from multiprocessing.managers import BaseManager if __name__ == '__main__': _object = 'some random object' def get_object(): return _object class MyManager(BaseManager): pass MyManager.register('get_object', callable=get_object) def putter(address): manager = MyManager(address=address, authkey='norwegianblue') manager.connect() obj = manager.get_object() manager = MyManager(address=('localhost', 0), authkey='norwegianblue') manager.start() p = Process(target=putter, args=(manager.address,)) p.start() manager2 = MyManager(address=manager.address, authkey='norwegianblue') manager2.connect() obj = manager2.get_object() time.sleep(0.1) del obj manager.shutdown()