import multiprocessing multiprocessing.log_to_stderr() def listener_process(queue): while True: record = queue.get() print record if record is None: break def main(): queue = multiprocessing.Queue() listener = multiprocessing.Process(target=listener_process, args=(queue,)) listener.start() queue.put('something else') queue.put(None) listener.join() if __name__ == '__main__': main()