Я планирую проект, основанный на потоке Python.Каждый поток должен запустить внешнюю программу, используя subprocess.Popen и собрать некоторые выходные данные.
В качестве побочного эффекта внешняя программа может оставить:
- Temp files
- Zombie Process
Я не могу запустить эту очистку для каждого потока, потому что у меня нет способа связать потоки с его PID-файлами внешней программы (эта программа запускает другую программу)и это временные файлы.
Я ищу лучший способ очистить временные файлы + убить процесс зомби (я могу найти его по имени, но не по PID) после того, как все потоки закончили одну итерациюи непосредственно перед началом следующей итерации.
Я знаю, что этот вид очистки блокирует все потоки до тех пор, пока не закончится последний, но я могу жить с этой задержкой.
Не могли бы вы предоставить фрагмент кода для демонстрации такой очистки?