3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

python自身で再起動する方法

Posted at

Python自身で再起動とは

Pythonを使用していて、エラーなどの理由からPythonのコードを再起動させた方が早い場合など、ありますよね。
そういった場合は次の手段が有効となります。
(ただし基本的にこれは強行手段なので褒められるやり方ではありませんし、推奨できるものではないことを念頭に次へお進みください。)

使う場面を上げれば死活チェックのシステムで使えそうですね。
自分では予期していない、ライブラリ内でメモリリークが発生し止まってしまう場合などは中々対策ができないので使えるかもしれません。

手法

pythonファイルと同階層に以下のbatファイルを作成します。

restart.bat
python main.py
main.py
import subprocess
import sys
import os
import time

print("hello")
# 3秒後に再起される
time.sleep(3)

# batファイルを実行させる
subprocess.Popen([fr"{os.getcwd()}\\restart.bat"])
# このPythonのプロセスを閉じる
sys.exit()

このようにbatファイルを用いて、外部から新たなPythonファイルの実行を促すことで間接的に再起動を行うことが可能となります。

bandicam-2023-12-31-13-10-12-941.gif

注意

処理の途中にtime.sleepを入れ、待機させていますがこれがないと高速でループしてしまいPCに高負荷をかけてしまうので注意してください。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?