Рассмотрим простую настройку дочернего процесса. По сути, это сценарий производитель (родитель) -потребитель (дочерний).
class Job:
def start_process(self):
self.queue = multiprocessing.Queue(3)
self.process = multiprocessing.Process(target=run,
args=(self.queue))
def run(queue):
while True:
item = queue.get()
....
Если я выполню kill -9
в родительском процессе, дочерний процесс будет зависать вечно. Я был уверен, что он получит SIGHUP
, как с subprocess.Popen
- когда процесс python выйдет, редактор popen
также выйдет. Есть идеи как починить детскую уборку?