У меня есть приложение wxPython, и я использую Evince для отображения отчетов, которые он генерирует.
Поскольку я хотел бы удалить каждый отчет после того, как пользователь закрыл соответствующий экземпляр Evince, мое приложение использует поток, который выполняет subprocess.call () для вызова Evince, а затем удаляет отчет по завершении подпроцесса.
Это прекрасно работает, пока пользователь просматривает только один отчет за раз, потому что если он открывает один отчет, а затем другой (не закрывая предыдущий), предыдущий экземпляр Evince будет «переработан» для отображения нового отчета, поэтому подпроцесс. Вызов call () возвращается немедленно, и файл удаляется слишком рано.
Есть ли способ заставить Evince каждый раз использовать новый экземпляр?
(Xubuntu 8.10)