2016-12-29 14 views
0

私はPythonスクリプトを持っています。これは、Windows Server 2008上でcmd行で実行されています。私はスクリプトの実行中に対話する必要はありません。ところで、スクリプトは約1週間実行されています。サーバーが何らかの理由で接続を切断した場合、スクリプトが停止し、何度も何度も何度もやり直す必要があります。それは私のために大きなトラブルであり、私はこの問題を解決する方法を知らない。Windows backroundでpythonスクリプトを実行するには?

ここは私の質問です。

サーバからバックグラウンドでPythonスクリプトを実行するにはどうすればよいですか?

ご協力いただきありがとうございます。

+0

これはバックグラウンドで実行されるデーモンプロセスに関する質問です。あなたはそれをgoogleする必要があります。 –

+0

http://stackoverflow.com/questions/7629813/is-there-windows-analog-to-supervisord – sau

答えて

1

Windowsの場合は、私自身の解決方法を使用することができます:https://github.com/fomalhaut88/pydaemon。必要なのは、スクリプトから関数を実行するクラスを作成することだけです。この方法の利点は、他の多くのデーモンプロセスを追加してpydaemonによってそれらを制御できることです。

、それはあなたのためにあまりにも重いと複雑に見える場合、あなたはそれが失敗した場合に停止しないようにするために、無限ループを使用してスクリプトをラップすることがありますが、以下のコマンドを使用してバックグラウンドで起動するには

# yourscript.py 
while True: 
    try: 
     ... # doing your stuff 
    except: 
     pass 

start /MIN "" python yourscript.py 
0

あなたの実行中のウィンドウを隠したいのですか?

あなたのpythonスクリプトを実行するvbsスクリプトを作成します。 そして、あなたは、スクリプトbackroundのを実行するためにstart.vbsをダブルクリックすることができますという名前のファイルstart.vbs

Set ws = CreateObject("Wscript.Shell") 
    ws.run "cmd /c python your_python_script.py",0 

を作成します。

+0

スクリプトを終了するためにどのようなVBSを書くことができますか? –

0

AWSインスタンスをスピンアップし、より信頼性の高いサーバーで実行しようとします。または、複数のフェールセーフサーバー間でコードを処理するためにhadoopを調べることができます。

関連する問題