私は本当にバグの多いスクリプトを持っており、エラーのために数時間おきに停止します。私はPythonでコード化していませんが、基本を知っていますので、別のスクリプトでエラーをチェックするスクリプトを作るにはどうしたらいいですか? 申し訳ありませんが、私はあなたがアイデアを得ていると思っています。私はこれをやっているPythonをよく理解していないので、スクリプトを理解して編集しようとするよりも簡単です。どんな助けでも大歓迎です。pythonスクリプトが正しく実行されているかどうか、再実行されていないかどうかを確認します。
答えて
これまでのところ、最も簡単な方法は、終了するのを待つだけで、クラッシュすると常に再起動します。次bash
ループは、プログラムの実行中に何もしないだろう、とすぐそれが出るときに、それを再起動します:
while true
do
python buggy_script.py arguments
echo oops, restarting...
done
をそして、それはそれです。それはあなたがそれを実行しているbashスクリプトを殺すまで永遠に実行されます。
PS。もちろん、これはあなたがOS XまたはLinuxを使用していることを前提としています。 Windowsの場合は、同等のバッチまたはPowerShellスクリプトを使用します。
バッチの代わりにPowerShellを使用することをお勧めします。バッチは私にはひどく見えます。 – GingerPlusPlus
確かに、PowerShell。ループを持つものは何でもします。 – alexis
スクリプト用のデーモンを作成できます。
基本的な機能は、基本的には永遠に実行されるループにしておいてください。 import logging import time if __name__ == '__main__': while True: //log errors logging.basicConfig(filename='log_file.log', level=logging.DEBUG) // use try except to handle exceptions try: // your code statements and function calls except Exception as e: // log the error for debugging logging.error(str(e)) // sleep the program if you want it to for desired amount of time. time.sleep(delay)
私が設定したログのレベルはデバッグです。自分の好みのものに設定することができます。
参考文献:
ロギングドキュメント - https://docs.python.org/3/library/logging.html
例外処理 - https://docs.python.org/3/tutorial/errors.html#handling-exceptions
- 1. プロセスが実行されているかどうかを確認するpowershellスクリプト
- 2. rubyスクリプトが既に実行されているかどうかを確認
- 3. プロセスがパイプとして実行されているかどうかを確認してください。
- 4. 子パッケージが実行されているかどうかを確認してから実行するSQLタスク
- 5. Java - 別のJavaアプリケーションが実行されているかどうかを確認してください。
- 6. cronjobsが実行されているかどうかを確認してください
- 7. Android:経由でサービスが実行されているかどうかを確認してください。 bindService
- 8. PythonスクリプトがPhpから正しく実行されない
- 9. 特定のマシンでスクリプトが既に実行されているかどうかを確認しますか?
- 10. Windows OSがセーフモードで実行されているかどうか確認してください
- 11. アプリケーションがFlutterで最初に実行されているかどうか確認してください
- 12. アプリケーションが既に実行されているかどうか確認してください
- 13. VBScript - mailItemが実行可能かどうかを確認してください
- 14. スクリーンセーバーが実行されているかどうかを確認するには?
- 15. Gtk mainloopが実行されているかどうかを確認する
- 16. フルスクリーンアプリケーションが実行されているかどうかを確認するには?
- 17. プロセスが実行されているかどうかを確認する
- 18. スレッドが再帰的に実行されているかどうかを確認しますか?
- 19. UPDATE mysqliクエリが正しく実行されているかどうかを確認するには?ここ
- 20. virtualenvで実行されているスクリプトがグローバルPythonにアクセスするかどうかを確認する方法
- 21. アプリケーションが実行されていないか確認してください。
- 22. window.history.goが正常に実行されているかどうかを確認しますか?
- 23. スクリプトがdofile()でインクルードされているかどうか、またはLuaで直接実行されているかどうかを確認する方法は?
- 24. アプリケーションがフォアグラウンドで実行されているかどうかの確認
- 25. PHPスクリプトがcron経由で別のスクリプトから実行されているか確認してください
- 26. グラブルテストがシェルスクリプトで行われるかどうか確認してください
- 27. プロセスがシェルスクリプトで実行されているか確認してください。
- 28. DSXで実行されているかどうかをプログラムで確認
- 29. スクリプトがスーパーユーザーとして実行されているかどうかを確認するにはどうすればよいですか?
- 30. MySQLReaderが実行されているかどうかを確認するVB.Netを実行中/検索中
そして、スクリプトの内容ですか? [最小限で完全で検証可能なサンプルを作成する方法](http://stackoverflow.com/help/mcve) –
[supervisord](http://supervisord.org/)などのツールは、ために。スクリプトは修正する必要がありますが、プロセスコントローラは少なくとも監視と再起動を行うことができます。 – dhke
内容は関係ありません。私はエラーが何であってもスクリプトが停止したかどうかを確認する方法を尋ねています –