Python スクリプトがあり、それを自動的に再起動したいと考えています。グーグルで次の行を見つけました:
def restart_program():
"""Restarts the current program.
Note: this function does not return. Any cleanup action (like
saving data) must be done before calling this function."""
python = sys.executable
os.execl(python, python, * sys.argv)
しかし、これを試した直後に問題が明らかになりました。私は非常に小さな組み込みシステムで実行していて、メモリをすぐに使い果たしました (この関数を 2 ~ 3 回繰り返した後)。プロセス リストを確認すると、多数の Python プロセスが表示されます。ここで、プロセス リストを確認して、自分とは別の PID を持つすべてのプロセスを強制終了できることに気付きました。