私はいくつかのモジュールをロードするpythonベースのGTKアプリケーションを持っています。ユーザーが(Gitのを使用して)新しいバージョンをダウンロードすることができ、プログラム内から自分自身からpythonスクリプトを再起動
./myscript.py --some-flag setting
:それはそうのような(Linux)の端末から実行されます。 これが存在する/ダウンロードされている場合、新しくコンパイルされたコンテンツ(依存関係/インポートを含む)でプログラムを再起動したいというボタンが表示されます。好ましくは、すべてのフラグをそのまま維持するために、sys.argv
の内容を使用して再起動することも好ましいでしょう。
私が見つけて/必要としないことは、プログラムの現在のインスタンスを強制終了させ、同じ引数を使用して新しいインスタンスを開始する素晴らしい再起動プロシージャです。
解決策はWindowsとMacでも有効ですが、必須ではありません。
は、最初に古いものと並列に実行する新しいプロセスを持つことです。理論的には、新しいプロセスにプロセスのID(追加のコマンドラインオプションを使用)を与え、新しいプロセスIDが起動したら直ちに古いプロセスIDを削除することができます。 –
[自己更新pythonスクリプトの再起動]の可能な複製(http://stackoverflow.com/questions/1750757/restarting-a-self-updating-python-script) –