1

自動更新を伴うツイストアプリケーションがあります。更新後に自動的に再起動するようにするには、次のようにアプリケーションを再生成する原子炉停止後のイベントを設定します。

reactor.addSystemEventTrigger('after', 'shutdown', os.execv, executable, args)
reactor.callFromThread(reactor.stop)

これはWindowsでは正常に機能しますが、OSXではイベントが呼び出されることはありません。ログには、パラメーターが正しいことが示され、Twistedの外部で同じパラメーターを使用してos.execvを実行すると正常にos.execv('/usr/bin/open', ['/usr/bin/open', '-n', '/Applications/MyApp.app'])機能します。

ここで何が欠けている可能性がありますか?

4

1 に答える 1

1

問題は、Twistedイベントのシャットダウンではなくexecv呼び出しにあることが判明しました。コマンドを変更して、openを使用する代わりに、.appバンドル内の実行可能ファイルを呼び出して機能させました。

于 2013-02-05T23:37:17.333 に答える