wxPython アプリケーションがあり、生成されたレポートを表示するために Evince を使用しています。ユーザーが対応する Evince インスタンスを閉じた後にすべてのレポートを削除したいので、アプリケーションは subprocess.call() を実行するスレッドを使用して Evince を呼び出し、サブプロセスが終了するとレポートを削除します。
これは、ユーザーが一度に 1 つのレポートのみを表示する限り、正常に機能します。ユーザーがレポートを 1 つ開いてから (前のレポートを閉じずに) 別のレポートを開くと、前の Evince インスタンスが「リサイクル」されて新しいレポートが表示されるため、サブプロセスになります。 call() はすぐに戻り、ファイルはすぐに削除されます。
Evince に毎回新しいインスタンスを強制的に使用させる方法はありますか?
(Xubuntu 8.10)