次の小さなスクリプトは、10分ごとにパラメータを使用してシェルコマンドを実行することになっています。正しく実行されたのは1回(30分前)ですが、現在はボールをプレーしていません(それ以降、このプロセスをさらに2回実行する必要があります)。私は間違いを犯しましたか?
while(True): subprocess.call(["command"、 "param"]) time.sleep(600)
次の小さなスクリプトは、10分ごとにパラメータを使用してシェルコマンドを実行することになっています。正しく実行されたのは1回(30分前)ですが、現在はボールをプレーしていません(それ以降、このプロセスをさらに2回実行する必要があります)。私は間違いを犯しましたか?
while(True): subprocess.call(["command"、 "param"]) time.sleep(600)
subprocess.callは、コマンドが何であれ、おそらくブロックされています。私はあなたのPythonスクリプトを疑っていますが、シェルコマンドが何であれ(時間がかかりすぎます)。
コマンドが完了したかどうかは、戻りコードを確認することでわかります。
print subprocess.call(["command","param"])
0
成功した場合は出力する必要があり、コマンドに問題がある場合は例外を発生させる必要があります。しかし、連続したプリントが表示されない場合は、呼び出しから戻ることはありません。
コマンドが完了するのを待つ必要がない場合は、subprocess.Popenを試してください。
ドキュメントから、
subprocess.call:argsで記述されたコマンドを実行します。コマンドが完了するのを待ってから、returncode属性を返します。