Я использую python многопроцессорный пул для одновременного запуска некоторого сценария оболочки. Но иногда сценарий оболочки будет зависать при ожидании ввода. Как я могу определить состояние Wait for input
и уничтожить дочерний процесс или ввести некоторые параметры? Пул, который я использовал следующим образом:
p = Pool(processNum)
LogInfo('Parent process %s.' % os.getpid())
#for incl_info in incl_infos:
#res = p.apply_async(func, args=(incl_info,root,))
multi_res = [p.apply_async(func, args=(incl_info,root,)) for incl_info in incl_infos]
LogInfo('Waiting for all subprocesses done...')
for i in range(len(incl_infos)):
while not multi_res[i].ready():
time.sleep(30)
p.close()
p.join()
Функция запуска процесса func
будет зависать при ожидании ввода. Я хочу найти зависший дочерний процесс и убить их. Может ли кто-нибудь дать некоторые предложения? Большое спасибо.