質問: pythonスクリプトが強制終了または終了した場合に自動的に再起動する方法 私のpythonスクリプトは、ubuntuマシン(12.04)のバックグラウンドで次のように実行しています-nohup python testing.py > test.out & さて、ある段階で、私のpython scriptが何らかの理由で死ぬ可能性があります。したがって、何らかの理由で強制終了された場合、上記のpythonスクリプトを自動的に再起動できるbashシェルスクリプトにある種のcron agentを含めることを考えています。これは可能ですか?はいの場合、この種の問題を解決する最良の方法は何ですか?更新:このようなtesting.confファイルを作成した後-chdir /tekooz exec python testing.py respawn sudoコマンドの下で実行して起動しましたが、ps axを使用してそのプロセスが背後で実行されているのが見えませんか?root@bx13:/bezook# sudo start testing testing start/running, process 27794 root@bx13:/bezook# ps ax | grep testing.py 27806 pts/3 s+ 0:00 grep --color=auto testing.py px axが何も表示しない理由は何ですか?プログラムが実行されているかどうかを確認するにはどうすればよいですか?これは私のpythonスクリプトです-#!/usr/bin/python while true: print "hello world" time.sleep(5)
回答: コマンドラインオプションを使用してテストプログラムに出力をリダイレクトさせ、単純なpythonスクリプトを使用してプログラムを無期限に再起動します。import subprocess while true: try: print subprocess.check_output(['python', 'testing.py']) except keyboardinterrupt: break このプログラムをバックグラウンドに置くことができ、停止したい場合は、単にそれをフォアグラウンドにプルして終了します。